במדריך למתחילים הזה תלמדו איך ליצור ולפרוס מסד נתונים קטן לדוגמה, ואיך לגשת אליו מחלק הקצה של אפליקציית Flutter.
דרישות מוקדמות
כדי להשלים את המדריך למתחילים הזה, תצטרכו:
- סביבה שמותקנים בה הכלים הבאים:
- Node.js עם מנהל חבילות לבחירתכם. במדריך הזה מניחים שאתם משתמשים ב-
npm. - Firebase CLI:
npm i -g firebase-tools@latest - כלי שורת הפקודה של Flutter.
- FlutterFire CLI
dart pub global activate flutterfire_cli
- Node.js עם מנהל חבילות לבחירתכם. במדריך הזה מניחים שאתם משתמשים ב-
- חשבון Google.
מדריך
| מדריך | |
|---|---|
1. יצירת פרויקט חדש ב-Firebaseהשלב הראשון הוא ליצור פרויקט חדש ב-Firebase במסוף Firebase. לאחר מכן, משדרגים את הפרויקט לתוכנית Blaze. |
|
2. אתחול הפרויקטיוצרים ספרייה חדשה ומפעילים בה פרויקט Firebase. כשמוצגת בקשה, בוחרים באפשרויות הבאות:
|
|
3. סקירת ההגדרות לדוגמה של GraphQLב-Data Connect, מגדירים את כל סכימות מסד הנתונים והפעולות באמצעות GraphQL. כשאתם מאתחלים את הפרויקט, ה-CLI של Firebase יוצר כמה הגדרות לדוגמה כדי לעזור לכם להתחיל. |
dataconnect/schema/schema.gql (קטע)
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. פריסת הסכימות והפעולותבכל פעם שמבצעים שינויים בסכימות של מסדי הנתונים, בשאילתות או במוטציות, צריך לפרוס אותם כדי שהשינויים יחולו על מסד הנתונים. |
|
5. הוספת נתונים לדוגמה למסד הנתוניםנתוני הבסיס האלה יאפשרו לכם לראות משהו כשבודקים את האפליקציה לדוגמה. שימו לב שבשלב הזה אתם מריצים GraphQL שרירותי, וזה מותר למשימות ניהול. |
|
6. יצירת SDK של לקוח Dartהפקודה הזו משתמשת בהגדרות GraphQL כדי ליצור ספריית Dart במיוחד עבור מסד הנתונים שלכם. משתמשים בספרייה הזו באפליקציית הלקוח כדי לבצע את כל פעולות מסד הנתונים. אפשר ליצור ספריות לכמה פלטפורמות, כולל Kotlin ל-Android, Swift ל-iOS ו-JavaScript לאינטרנט, על ידי הוספת הגדרות ל- |
class ExampleConnector { ListMoviesVariablesBuilder listMovies() { return ListMoviesVariablesBuilder(dataConnect); } // ... } |
7. הגדרת אפליקציית Flutterמריצים את הפקודות האלה כדי להגדיר את אפליקציית Flutter לשימוש בפרויקט Firebase. כשמופיעה הנחיה בפקודה |
|
8. כתיבת לקוח לדוגמה ב-Flutterמחליפים את התוכן של שימו לב שהאפליקציה משלימה את הגישה הנדרשת למסד הנתונים באמצעות פונקציה מתוך ה-SDK שנוצר. |
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. לניסיון האפליקציהמפעילים את שרת הפיתוח כדי לראות את האפליקציה לדוגמה בפעולה. |
|
השלבים הבאים
כדאי לנסות את התוסף Visual Studio Code
במהלך פיתוח באמצעות Data Connect, מומלץ מאוד להשתמש בתוסף Visual Studio Code. גם אם אתם לא משתמשים ב-Visual Studio Code כסביבת הפיתוח העיקרית שלכם, התוסף מספק כמה תכונות שהופכות את פיתוח הסכימה והפעולות לנוח יותר:
- שרת שפה של GraphQL, שמספק בדיקת תחביר והצעות להשלמה אוטומטית שספציפיות ל-Data Connect
- לחצני CodeLens בשורה עם הקוד שמאפשרים לכם לקרוא ולכתוב נתונים מקובצי הגדרת הסכימה, ולהריץ שאילתות ושינויים מהגדרות הפעולה.
- שמירה אוטומטית של ערכות ה-SDK שנוצרו מסונכרנות עם הגדרות ה-GraphQL.
- הגדרה פשוטה יותר של אמולטור מקומי.
- פריסה פשוטה יותר בסביבת הייצור.
שימוש באמולטור Data Connect לפיתוח מקומי
במדריך הזה הראינו איך פורסים סכימות ופעולות של Data Connect ישירות בסביבת הייצור, אבל סביר להניח שלא תרצו לבצע שינויים במסד הנתונים של הייצור בזמן שאתם מפתחים את האפליקציה. במקום זאת, מומלץ להגדיר את Data Connect האמולטור ולבצע את עבודת הפיתוח מולו ולא מול סביבת הייצור. האמולטור מגדיר מכונת PGlite מקומית שמתנהגת באופן דומה למכונת Postgres פעילה ב-CloudSQL.
איך כותבים סכימות ופעולות לאפליקציה
כשמפתחים אפליקציות באמצעות Data Connect, עיצוב הסכימות והפעולות הוא אחת ממשימות הפיתוח הראשונות והחשובות ביותר שצריך להשלים.
- Gemini במסוף Firebase הוא כלי מבוסס-AI שיכול ליצור סכימות מתיאור של האפליקציה בשפה טבעית. הכלי הזה יכול לעזור לכם להתחיל לעבוד במהירות, במיוחד אם מעולם לא עבדתם עם מסדי נתונים רלציוניים.Data Connect
- לחלופין, אפשר לכתוב סכימות של מסדי נתונים, שאילתות ומוטציות ישירות באמצעות GraphQL. כדאי להתחיל עם הדף Design Data Connect schemas ולהמשיך לדפים הבאים כדי ללמוד איך לכתוב פעולות.