Dalam panduan memulai ini, Anda akan membuat dan men-deploy database sampel kecil serta mengaksesnya dari aplikasi iOS.
Prasyarat
Untuk menyelesaikan panduan memulai ini, Anda memerlukan hal berikut:
- Lingkungan dengan alat berikut yang diinstal:
- Versi terbaru Xcode.
- Firebase CLI. Jika Anda telah menginstal NPM, jalankan:
Atau, lihat dokumentasi untuk mengetahui petunjuk penginstalan.npm install -g firebase-tools@latest
- Akun Google.
Tutorial
| Tutorial | |
|---|---|
1. Membuat proyek Xcode baruDi Xcode, buat project baru dengan template App. |
Beri nama project Quickstart dengan ID paket com.example.Quickstart.
Buat project di folder kosong, seperti |
2. Menginisialisasi project FirebaseBeralih ke direktori project Xcode Anda dan lakukan inisialisasi project Firebase di dalamnya. |
cd ~/qs-iosfirebase login --reauthfirebase init dataconnectJika diminta, pilih opsi berikut:
Setujui nilai default untuk semua perintah lainnya. Selanjutnya, daftarkan aplikasi iOS di project Firebase Anda. firebase apps:create --bundle-id com.example.Quickstart ios ios-quickstartSaat diminta untuk menentukan ID App Store, tekan Enter untuk melewati langkah ini. firebase apps:sdkconfig ios -o Quickstart/GoogleService-Info.plistDi Xcode, pilih File > Add Files to "Quickstart", lalu pilih file
|
3. Tinjau contoh definisi GraphQLDi SQL Connect, Anda menentukan semua skema dan operasi database menggunakan GraphQL. Saat Anda menginisialisasi project, Firebase CLI membuat beberapa contoh definisi untuk membantu Anda memulai. |
dataconnect/schema/schema.gql (kutipan)
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. Men-deploy skema dan operasi AndaSetiap kali Anda membuat perubahan pada skema, kueri, atau mutasi database, Anda harus men-deploy-nya agar perubahan diterapkan pada database. |
|
5. Isi database dengan data contohData awal ini akan memberi Anda sesuatu untuk dilihat saat menguji aplikasi contoh. Perhatikan bahwa pada langkah ini Anda menjalankan GraphQL arbitrer, yang diizinkan untuk tugas administratif. |
|
6. Membuat SDK klien iOSPerintah ini menggunakan definisi GraphQL Anda untuk membuat SDK klien iOS khusus untuk database Anda. Anda menggunakan library ini di aplikasi klien untuk melakukan semua operasi database. Anda dapat membuat library untuk beberapa platform, termasuk
Kotlin untuk Android, JavaScript untuk web, dan Flutter, dengan menambahkan definisi ke
|
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. Menambahkan dependensi Firebase ke project XcodeTambahkan library yang dihasilkan ke project Anda menggunakan Swift Package Manager. Saat Anda menambahkan library yang dihasilkan, library tersebut akan menyertakan library inti Firebase dan library Firebase SQL Connect secara transitif. |
Di panel navigasi Xcode, pilih
File > Add Package Dependencies > Add Local, lalu pilih folder yang berisi
library yang dihasilkan,
|
8. Menulis klien iOS contohGanti konten
Perhatikan bahwa aplikasi menyelesaikan akses database yang diperlukan menggunakan fungsi dari SDK yang dihasilkan. |
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. Coba aplikasinyaDari Xcode, jalankan aplikasi contoh untuk melihat cara kerjanya. |
|
Langkah berikutnya
Mencoba ekstensi SQL Connect VS Code
Saat mengembangkan dengan SQL Connect, sebaiknya gunakan ekstensi SQL Connect VS Code. Meskipun Anda tidak menggunakan Visual Studio Code sebagai lingkungan pengembangan utama, ekstensi ini menyediakan beberapa fitur yang membuat pengembangan skema dan operasi menjadi lebih mudah:
- Server bahasa GraphQL, yang menyediakan pemeriksaan sintaksis dan saran pelengkapan otomatis khusus untuk SQL Connect
- Tombol CodeLens sebaris dengan kode yang memungkinkan Anda membaca dan menulis data dari file definisi skema dan menjalankan kueri serta mutasi dari definisi operasi.
- Menjaga SDK yang dihasilkan tetap disinkronkan secara otomatis dengan definisi GraphQL Anda.
- Penyiapan emulator lokal yang disederhanakan.
- Deployment yang disederhanakan ke produksi.
Menggunakan emulator SQL Connect untuk pengembangan lokal
Meskipun tutorial ini menunjukkan cara men-deploy skema dan operasi SQL Connect langsung ke produksi, Anda mungkin tidak ingin membuat perubahan pada database produksi saat Anda sedang aktif mengembangkan aplikasi. Sebagai gantinya, siapkan emulator SQL Connect dan lakukan pekerjaan pengembangan Anda di emulator tersebut, bukan di produksi. Emulator menyiapkan instance PGlite lokal yang berperilaku mirip dengan instance PostgreSQL aktif di Cloud SQL.
Pelajari cara menulis skema dan operasi untuk aplikasi Anda
Saat mengembangkan aplikasi dengan SQL Connect, desain skema dan operasi adalah salah satu tugas pengembangan pertama dan terpenting yang akan Anda selesaikan.
- Gemini di konsol Firebase adalah alat AI yang dapat membuat skema SQL Connect dari deskripsi aplikasi Anda dalam bahasa alami. Alat ini dapat membantu Anda memulai dengan sangat cepat, terutama jika Anda belum pernah menggunakan database relasional sebelumnya.
- Atau, Anda dapat menulis skema, kueri, dan mutasi database secara langsung menggunakan GraphQL. Mulai dengan panduan di Mendesain skema SQL Connect, lalu lanjutkan ke halaman lanjutan untuk mempelajari cara menulis operasi.
Pelajari cara mendapatkan info real-time dari SQL Connect
Anda dapat menggunakan SQL Connect untuk menulis aplikasi klien yang bereaksi terhadap perubahan data secara real time. Lihat Mendapatkan info real-time dari SQL Connect.