Bu hızlı başlangıç kılavuzunda küçük bir örnek veritabanı oluşturup dağıtacak ve bu veritabanına bir iOS uygulamasından erişeceksiniz.
Ön koşullar
Bu hızlı başlangıç kılavuzunu tamamlamak için aşağıdakilere ihtiyacınız vardır:
- Aşağıdaki araçların yüklü olduğu bir ortam:
- Xcode'un son sürümlerinden biri.
- Firebase CLI. NPM yüklüyse şu komutu çalıştırın:
Aksi takdirde, yükleme talimatları için dokümanlara bakın.npm install -g firebase-tools@latest
- Google Hesabı
Eğitim
| Eğitim | |
|---|---|
1. Yeni bir Xcode projesi oluşturmaXcode'da Uygulama şablonunu kullanarak yeni bir proje oluşturun. |
Paket kimliği com.example.Quickstart olan projeye Quickstart adını verin.
Projeyi |
2. Firebase projesi başlatmaXcode projenizin proje dizinine gidin ve bu dizinde bir Firebase projesi başlatın. |
cd ~/qs-iosfirebase login --reauthfirebase init dataconnectİstendiğinde aşağıdaki seçenekleri belirleyin:
Diğer tüm istemler için varsayılan değerleri kabul edin. Ardından, iOS uygulamasını Firebase projenize kaydedin. firebase apps:create --bundle-id com.example.Quickstart ios ios-quickstartApp Store kimliği belirtmeniz istendiğinde bu adımı atlamak için Enter tuşuna basın. firebase apps:sdkconfig ios -o Quickstart/GoogleService-Info.plistXcode'da File > Add Files to "Quickstart"'ı (Dosya > "Quickstart"a Dosya Ekle) seçin ve |
3. Örnek GraphQL tanımlarını inceleyinSQL Connect içinde, tüm veritabanı şemalarınızı ve işlemlerinizi GraphQL kullanarak tanımlarsınız. Projenizi başlattığınızda Firebase CLI, başlamanıza yardımcı olmak için bazı örnek tanımlar oluşturdu. |
dataconnect/schema/schema.gql (excerpt)
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. Şemalarınızı ve işlemlerinizi dağıtmaVeritabanı şemalarınızda, sorgularınızda veya mutasyonlarınızda değişiklik yaptığınızda, değişikliklerinizin veritabanında geçerli olması için bunları dağıtmanız gerekir. |
|
5. Veritabanını örnek verilerle doldurmaBu başlangıç verileri, örnek uygulamayı test ederken inceleyebileceğiniz bir şey sunar. Bu adımda, yönetim görevleri için izin verilen rastgele GraphQL'i yürüttüğünüzü unutmayın. |
|
6. iOS istemci SDK'sı oluşturmaBu komut, GraphQL tanımlarınızı kullanarak özellikle veritabanınız için bir iOS istemci SDK'sı oluşturur. Tüm veritabanı işlemlerini gerçekleştirmek için bu kitaplığı istemci uygulamanızda kullanırsınız.
|
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. Xcode projenize Firebase bağımlılıkları eklemeOluşturulan kitaplığı Swift Package Manager'ı kullanarak projenize ekleyin. Oluşturulan kitaplığı eklediğinizde, Firebase çekirdek kitaplıkları ve Firebase SQL Connect kitaplığı geçişli olarak dahil edilir. |
Xcode gezinme çubuğunda File > Add Package Dependencies > Add Local'ı (Dosya > Paket Bağımlılıkları Ekle > Yerel Ekle) seçin ve oluşturulan kitaplığı içeren klasörü belirleyin,
|
8. Örnek bir iOS istemcisi yazma
Uygulamanın, oluşturulan SDK'daki bir işlevi kullanarak gerekli veritabanı erişimini tamamladığını unutmayın. |
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. Uygulamayı deneyinÇalışırken görmek için Xcode'dan örnek uygulamayı çalıştırın. |
|
Sonraki adımlar
SQL Connect VS Code uzantısını deneyin
SQL Connect ile geliştirme yaparken SQL Connect VS Code uzantısını kullanmanızı önemle tavsiye ederiz. Visual Studio Code'u birincil geliştirme ortamınız olarak kullanmasanız bile uzantı, şema ve işlem geliştirmeyi daha kolay hale getiren çeşitli özellikler sunar:
- SQL Connect'ya özel söz dizimi denetimi ve otomatik tamamlama önerileri sağlayan bir GraphQL dil sunucusu
- Şema tanımı dosyalarınızdan veri okumanıza ve yazmanıza, ayrıca işlem tanımlarınızdan sorgu ve mutasyon yürütmenize olanak tanıyan, kodunuzla aynı satırda bulunan CodeLens düğmeleri.
- Oluşturulan SDK'larınızı GraphQL tanımlarınızla otomatik olarak senkronize tutun.
- Basitleştirilmiş yerel emülatör kurulumu.
- Üretim ortamına basitleştirilmiş dağıtım.
Yerel geliştirme için SQL Connect emülatörünü kullanma
Bu eğitimde SQL Connect şemalarının ve işlemlerinin doğrudan canlı sürüme nasıl dağıtılacağı gösterilse de uygulamanızı aktif olarak geliştirirken canlı veritabanınızda değişiklik yapmak istemeyebilirsiniz. Bunun yerine SQL Connect emülatörünü ayarlayın ve geliştirme çalışmalarınızı canlı sürüm yerine emülatör üzerinde yapın. Emülatör, Cloud SQL üzerinde canlı bir PostgreSQL örneğine benzer şekilde davranan yerel bir PGlite örneği oluşturur.
Uygulamanız için şemaları ve işlemleri nasıl yazacağınızı öğrenin
SQL Connect ile uygulama geliştirirken şemalarınızın ve işlemlerinizin tasarımı, tamamlayacağınız ilk ve en önemli geliştirme görevlerinden biridir.
- Firebase konsolundaki Gemini, uygulamanızın doğal dildeki açıklamasından SQL Connect şemaları oluşturabilen bir yapay zeka aracıdır. Bu araç, özellikle daha önce ilişkisel veritabanlarıyla çalışmadıysanız çok hızlı bir şekilde başlamanıza yardımcı olabilir.
- Alternatif olarak, veritabanı şemalarını, sorguları ve mutasyonları doğrudan GraphQL kullanarak yazabilirsiniz. SQL Connect şemaları tasarlama bölümündeki yönergelerle başlayın ve ardından yazma işlemlerini öğrenmek için sonraki sayfalara geçin.
SQL Connect uygulamasından anlık güncellemeleri nasıl alacağınızı öğrenin.
SQL Connect'yı kullanarak değişen verilere anında tepki veren istemci uygulamaları yazabilirsiniz. SQL Connect'dan anlık güncellemeler alma başlıklı makaleyi inceleyin.