Trong hướng dẫn nhanh này, bạn sẽ tạo và triển khai một cơ sở dữ liệu mẫu nhỏ, đồng thời truy cập vào cơ sở dữ liệu đó từ một ứng dụng iOS.
Điều kiện tiên quyết
Để hoàn tất hướng dẫn nhanh này, bạn cần có những điều sau:
- Một môi trường đã cài đặt các công cụ sau:
- Tài khoản Google.
Hướng dẫn
| Hướng dẫn | |
|---|---|
1. Tạo dự án Xcode mớiTrong Xcode, hãy tạo một dự án mới bằng mẫu App (Ứng dụng). |
Đặt tên cho dự án là Quickstart với mã nhận dạng gói là com.example.Quickstart.
Tạo dự án trong một thư mục trống, chẳng hạn như |
2. Khởi chạy dự án FirebaseChuyển sang thư mục dự án của dự án Xcode và khởi chạy một dự án Firebase trong đó. |
cd ~/qs-iosfirebase login --reauthfirebase init dataconnectKhi được nhắc, hãy chọn các lựa chọn sau:
Chấp nhận các giá trị mặc định cho tất cả lời nhắc khác. Tiếp theo, hãy đăng ký ứng dụng iOS trong dự án Firebase. firebase apps:create --bundle-id com.example.Quickstart ios ios-quickstartKhi được nhắc chỉ định Mã App Store, hãy nhấn Enter để bỏ qua bước này. firebase apps:sdkconfig ios -o Quickstart/GoogleService-Info.plistTrong Xcode, hãy chọn File > Add Files to "Quickstart" rồi chọn tệp
|
3. Xem các định nghĩa GraphQL mẫuTrong SQL Connect, bạn sẽ xác định tất cả giản đồ và thao tác cơ sở dữ liệu bằng GraphQL. Khi bạn khởi chạy dự án, Firebase CLI sẽ tạo một số định nghĩa mẫu để giúp bạn bắt đầu. |
dataconnect/schema/schema.gql (trích dẫn)
type Movie @table { title: String! imageUrl: String! genre: String } type MovieMetadata @table { movie: Movie! @unique rating: Float releaseYear: Int description: String } query ListMovies @auth(level: PUBLIC) { movies { id title imageUrl genre } } |
4. Triển khai giản đồ và thao tácMỗi khi thay đổi giản đồ, truy vấn hoặc đột biến cơ sở dữ liệu, bạn phải triển khai các thay đổi đó để có hiệu lực trên cơ sở dữ liệu. |
|
5. Gieo dữ liệu mẫu vào cơ sở dữ liệuDữ liệu gieo này sẽ giúp bạn có thứ để xem khi kiểm thử ứng dụng mẫu. Xin lưu ý rằng ở bước này, bạn đang thực thi GraphQL tuỳ ý, được phép dùng cho các tác vụ quản trị. |
|
6. Tạo SDK ứng dụng iOSLệnh này sử dụng các định nghĩa GraphQL để tạo SDK ứng dụng iOS dành riêng cho cơ sở dữ liệu của bạn. Bạn sử dụng thư viện này trong ứng dụng khách để thực hiện tất cả thao tác cơ sở dữ liệu. Bạn có thể tạo thư viện cho nhiều nền tảng, bao gồm
Kotlin cho Android, JavaScript cho web và Flutter, bằng cách thêm các định nghĩa vào
|
public class ListMoviesQuery { // ... @MainActor public func execute( fetchPolicy: QueryFetchPolicy = .preferCache, ) async throws -> OperationResult<ListMoviesQuery.Data> { var variables = ListMoviesQuery.Variables() let ref = dataConnect.query( name: "ListMovies", variables: variables, resultsDataType: ListMoviesQuery.Data.self, publisher: .observableMacro) let refCast = ref as! QueryRefObservation<ListMoviesQuery.Data, ListMoviesQuery.Variables> return try await refCast.execute(fetchPolicy: fetchPolicy) } } |
7. Thêm phần phụ thuộc của Firebase vào dự án XcodeThêm thư viện đã tạo vào dự án bằng Swift Package Manager. Khi bạn thêm thư viện đã tạo, thư viện này sẽ bao gồm các thư viện cốt lõi của Firebase và thư viện Firebase SQL Connect một cách bắc cầu. |
Trong thanh điều hướng Xcode, hãy chọn
File > Add Package Dependencies > Add Local rồi chọn thư mục chứa
thư viện đã tạo,
|
8. Viết ứng dụng iOS mẫuThay thế nội dung của
Xin lưu ý rằng ứng dụng này hoàn tất việc truy cập cơ sở dữ liệu cần thiết bằng một hàm trong SDK đã tạo. |
import SwiftUI import FirebaseCore import FirebaseDataConnect import DataConnectGenerated @main struct QuickstartApp: App { init() { FirebaseApp.configure() } var body: some Scene { WindowGroup { ListMovieView() } } } struct ListMovieView: View { @State private var moviesData: ListMoviesQuery.Data? var body: some View { VStack { ForEach(moviesData?.movies ?? []) { movie in Text(movie.title) } } .task { let result = try? await DataConnect.exampleConnector .listMoviesQuery.execute() self.moviesData = result?.data } } } |
9. Dùng thử ứng dụngTrong Xcode, hãy chạy ứng dụng mẫu để xem ứng dụng này hoạt động. |
|
Các bước tiếp theo
Dùng thử tiện ích SQL Connect VS Code
Khi phát triển bằng SQL Connect, bạn nên sử dụng tiện ích SQL Connect VS Code. Ngay cả khi bạn không sử dụng Visual Studio Code làm môi trường phát triển chính, tiện ích này vẫn cung cấp một số tính năng giúp phát triển giản đồ và thao tác thuận tiện hơn:
- Máy chủ ngôn ngữ GraphQL, cung cấp tính năng kiểm tra cú pháp và các cụm từ gợi ý tự động hoàn thành dành riêng cho SQL Connect
- Các nút CodeLens phù hợp với mã của bạn, cho phép bạn đọc và ghi dữ liệu từ các tệp định nghĩa giản đồ , đồng thời thực thi các truy vấn và đột biến từ các định nghĩa thao tác.
- Tự động đồng bộ hoá các SDK đã tạo với các định nghĩa GraphQL.
- Quy trình thiết lập trình mô phỏng cục bộ đơn giản.
- Quy trình triển khai đơn giản sang thực tế.
Sử dụng trình mô phỏng SQL Connect để phát triển cục bộ
Mặc dù hướng dẫn này đã chỉ cho bạn cách triển khai trực tiếp các SQL Connect giản đồ và thao tác sang thực tế, nhưng có thể bạn sẽ không muốn thay đổi cơ sở dữ liệu thực tế khi đang tích cực phát triển ứng dụng. Thay vào đó, hãy thiết lập trình SQL Connect mô phỏng và thực hiện công việc phát triển trên trình mô phỏng này thay vì trên thực tế. Trình mô phỏng sẽ thiết lập một thực thể PGlite cục bộ hoạt động tương tự như một thực thể PostgreSQL trực tiếp trên Cloud SQL.
Tìm hiểu cách viết giản đồ và thao tác cho ứng dụng
Khi phát triển ứng dụng bằng SQL Connect, việc thiết kế giản đồ và thao tác là một trong những nhiệm vụ phát triển đầu tiên và quan trọng nhất mà bạn sẽ hoàn thành.
- Gemini trong Firebase bảng điều khiển là một công cụ AI có thể tạo giản đồ SQL Connect từ nội dung mô tả ứng dụng bằng ngôn ngữ tự nhiên. Công cụ này có thể giúp bạn bắt đầu rất nhanh, đặc biệt là nếu bạn chưa từng làm việc với cơ sở dữ liệu quan hệ.
- Ngoài ra, bạn có thể trực tiếp viết giản đồ, truy vấn và đột biến cơ sở dữ liệu bằng GraphQL. Hãy bắt đầu bằng hướng dẫn trong bài viết Thiết kế giản đồSQL Connect, sau đó tiếp tục xem các trang tiếp theo để tìm hiểu cách viết thao tác.
Tìm hiểu cách nhận thông tin cập nhật theo thời gian thực từ SQL Connect
Bạn có thể sử dụng SQL Connect để viết các ứng dụng khách phản ứng với dữ liệu thay đổi theo thời gian thực. Xem bài viết Nhận thông tin cập nhật theo thời gian thực từ SQL Connect.