Bu hızlı başlangıç kılavuzunda, küçük bir örnek veritabanı oluşturup dağıtacak ve bu veritabanına Flutter ön ucundan 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:
- Seçtiğiniz paket yöneticisiyle Node.js. Bu eğitimde,
npmolduğu varsayılmaktadır. - Firebase CLI:
npm i -g firebase-tools@latest - Flutter komut satırı aracı.
- FlutterFire CLI
dart pub global activate flutterfire_cli
- Seçtiğiniz paket yöneticisiyle Node.js. Bu eğitimde,
- Google Hesabı
Eğitim
| Eğitim | |
|---|---|
1. Yeni bir Firebase projesi oluşturmaFirebase konsolunda yeni bir Firebase projesi oluşturarak başlayın. Ardından, projeyi Blaze planına yükseltin. |
|
2. Projenizi ilk kullanıma hazırlayınYeni bir dizin oluşturun ve içinde bir Firebase projesi başlatın. İstendiğinde aşağıdaki seçenekleri belirleyin:
|
|
3. Örnek GraphQL tanımlarını inceleyinData Connect'da, 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. Dart istemci SDK'sı oluşturmaBu komut, GraphQL tanımlarınızı kullanarak özellikle veritabanınız için bir Dart kitaplığı oluşturur. Tüm veritabanı işlemlerini gerçekleştirmek için bu kitaplığı istemci uygulamanızda kullanırsınız.
|
class ExampleConnector { ListMoviesVariablesBuilder listMovies() { return ListMoviesVariablesBuilder(dataConnect); } // ... } |
7. Flutter uygulaması oluşturmaFlutter uygulamasını Firebase projenizi kullanacak şekilde ayarlamak için bu komutları çalıştırın.
|
|
8. Örnek bir Flutter istemcisi yazma
Uygulamanın, oluşturulan SDK'daki bir işlevi kullanarak gerekli veritabanı erişimini tamamladığını unutmayın. |
import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_data_connect/firebase_data_connect.dart'; import 'package:flutter/material.dart'; import 'package:flutter_app/dataconnect_generated/generated.dart'; import 'package:flutter_app/firebase_options.dart'; class MyApp extends StatelessWidget { late final Future<QueryResult<ListMoviesData, void>> _movieListFuture; MyApp({super.key}) { _movieListFuture = ExampleConnector.instance .listMovies() .execute(); } @override Widget build(BuildContext context) { return MaterialApp( home: FutureBuilder( future: _movieListFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { return ListView.builder( scrollDirection: Axis.vertical, itemBuilder: (context, index) => Card( child: Text( snapshot.data?.data.movies[index].title ?? "", ), ), itemCount: snapshot.data?.data.movies.length ?? 0, ); } return const CircularProgressIndicator(); }, ), ); } } Future<void> main() async { await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); runApp(MyApp()); } |
9. Uygulamayı deneyinÖrnek uygulamayı çalışırken görmek için geliştirme sunucusunu başlatın. |
|
Sonraki adımlar
Visual Studio Code uzantısını deneyin
Data Connect ile geliştirme yaparken Visual Studio 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:
- Data Connect'ya özel söz dizimi kontrolü 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 Data Connect emülatörünü kullanma
Bu eğitimde Data Connect şemalarının ve işlemlerinin doğrudan üretime nasıl dağıtılacağı gösterilse de uygulamanızı aktif olarak geliştirirken üretim veritabanınızda değişiklik yapmak istemeyebilirsiniz. Bunun yerine, Data Connect emülatörünü ayarlayın ve geliştirme çalışmalarınızı üretim yerine emülatör üzerinde yapın. Emülatör, Cloud SQL'deki canlı bir PostgreSQL örneğine benzer şekilde davranan yerel bir PGLite örneği oluşturur.
Uygulamanız için şemalar ve işlemler yazmayı öğrenin
Data 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 konsolunda Gemini, uygulamanızın doğal dildeki açıklamasından Data 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, GraphQL kullanarak doğrudan veritabanı şemaları, sorgular ve mutasyonlar yazabilirsiniz. Tasarım Data Connect şemaları sayfasından başlayın ve işlemleri nasıl yazacağınızı öğrenmek için sonraki sayfalara geçin.