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ılı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. 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:
|
|
2. Ö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 (alıntı)
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 } } |
3. Ş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. |
|
4. 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. |
|
5. 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); } // ... } |
6. Flutter uygulaması oluşturmaFlutter uygulamasını Firebase projenizi kullanacak şekilde ayarlamak için bu komutları çalıştırın.
|
|
7. Ö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()); } |
8. Uygulamayı deneyinÖrnek uygulamayı çalışırken görmek için geliştirme sunucusunu başlatı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, 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 dil açıklamasına göre 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 işlemleri nasıl yazacağınızı öğrenmek için takip sayfalarına geçin.