در این آموزش سریع، شما یک پایگاه داده نمونه کوچک ایجاد و مستقر خواهید کرد و از طریق یک برنامه iOS به آن دسترسی خواهید داشت.
پیشنیازها
برای تکمیل این راهنمای سریع، به موارد زیر نیاز دارید:
- محیطی با ابزارهای نصب شده زیر:
- نسخه جدیدی از Xcode .
- رابط خط فرمان فایربیس . اگر NPM را نصب کردهاید، دستور زیر را اجرا کنید:
در غیر این صورت، برای دستورالعملهای نصب به مستندات مراجعه کنید.npm install -g firebase-tools@latest
- یک حساب گوگل.
آموزش
| آموزش | |
|---|---|
۱. یک پروژه جدید Xcode ایجاد کنیددر Xcode، یک پروژه جدید با الگوی App ایجاد کنید. | نام پروژه را Quickstart با شناسه بسته com.example.Quickstart بگذارید. ![]() پروژه را در یک پوشه خالی، مانند |
۲. راهاندازی اولیه یک پروژه Firebaseبه دایرکتوری پروژه Xcode خود بروید و یک پروژه Firebase را در آن مقداردهی اولیه کنید. | cd ~/qs-iosfirebase login --reauthfirebase init dataconnectوقتی از شما خواسته شد، گزینههای زیر را انتخاب کنید:
مقادیر پیشفرض را برای سایر درخواستها بپذیرید. در مرحله بعد، برنامه iOS را در پروژه Firebase خود ثبت کنید. firebase apps:create --bundle-id com.example.Quickstart ios ios-quickstartوقتی از شما خواسته شد شناسه فروشگاه برنامه (App Store ID) را مشخص کنید، برای رد شدن از این مرحله، Enter را فشار دهید. firebase apps:sdkconfig ios -o Quickstart/GoogleService-Info.plist در Xcode، مسیر File > Add Files to "Quickstart" را انتخاب کنید و فایل |
۳. مثالهای تعاریف GraphQL را مرور کنیددر SQL Connect ، شما تمام طرحها و عملیات پایگاه داده خود را با استفاده از GraphQL تعریف میکنید. وقتی پروژه خود را مقداردهی اولیه کردید، Firebase CLI چند نمونه تعریف برای شروع کار شما ایجاد کرد. | 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 } } |
۴. طرحها و عملیات خود را مستقر کنیدهر زمان که تغییراتی در طرحوارهها، پرسوجوها یا جهشهای پایگاه داده خود ایجاد میکنید، باید آنها را مستقر کنید تا تغییرات شما روی پایگاه داده اعمال شوند. | |
۵. پایگاه داده را با دادههای نمونه پر کنیداین دادههای اولیه به شما امکان میدهد هنگام آزمایش برنامه نمونه، آنها را بررسی کنید. توجه داشته باشید که در این مرحله، شما GraphQL دلخواه را اجرا میکنید که برای وظایف مدیریتی مجاز است. | |
۶. یک SDK کلاینت iOS ایجاد کنیداین دستور از تعاریف GraphQL شما برای تولید یک SDK کلاینت iOS مخصوص پایگاه داده شما استفاده میکند. شما از این کتابخانه در برنامه کلاینت خود برای انجام تمام عملیات پایگاه داده استفاده میکنید. شما میتوانید با اضافه کردن تعاریف به | 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) } } |
۷. وابستگیهای Firebase را به پروژه Xcode خود اضافه کنیدکتابخانه تولید شده را با استفاده از Swift Package Manager به پروژه خود اضافه کنید. وقتی کتابخانه تولید شده را اضافه میکنید، به صورت انتقالی کتابخانههای اصلی Firebase و کتابخانه Firebase SQL Connect نیز شامل میشود. | در نوار ناوبری Xcode، مسیر File > Add Package Dependencies > Add Local را دنبال کنید و پوشهای که کتابخانه تولید شده در آن قرار دارد، یعنی |
۸. یک کلاینت نمونه iOS بنویسید محتویات توجه داشته باشید که برنامه با استفاده از تابعی از SDK تولید شده، دسترسی لازم به پایگاه داده را تکمیل میکند. | 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 } } } |
۹. برنامه را امتحان کنیدبرای مشاهدهی عملکرد آن، برنامهی نمونه را از Xcode اجرا کنید. | |
مراحل بعدی
افزونه SQL Connect VS Code را امتحان کنید
هنگام توسعه با SQL Connect ، اکیداً توصیه میکنیم از افزونه SQL Connect VS Code استفاده کنید. حتی اگر از Visual Studio Code به عنوان محیط توسعه اصلی خود استفاده نمیکنید، این افزونه چندین ویژگی ارائه میدهد که توسعه طرحواره و عملیات را راحتتر میکند:
- یک سرور زبان GraphQL، که بررسی سینتکس و پیشنهادهای تکمیل خودکار مختص SQL Connect را ارائه میدهد.
- دکمههای CodeLens مطابق با کد شما که به شما امکان میدهند دادهها را از فایلهای تعریف طرحواره خود بخوانید و بنویسید و پرسوجوها و جهشها را از تعاریف عملیات خود اجرا کنید.
- SDK های تولید شده خود را به طور خودکار با تعاریف GraphQL خود همگام سازی کنید.
- راهاندازی سادهشدهی شبیهساز محلی.
- استقرار سادهشده به محیط عملیاتی.
استفاده از شبیهساز SQL Connect برای توسعه محلی
اگرچه این آموزش به شما نشان داد که چگونه طرحها و عملیات SQL Connect را مستقیماً در محیط عملیاتی مستقر کنید، اما احتمالاً نمیخواهید در حین توسعه فعال برنامه خود، تغییراتی در پایگاه داده محیط عملیاتی خود ایجاد کنید. در عوض، شبیهساز SQL Connect را راهاندازی کنید و کارهای توسعه خود را به جای محیط عملیاتی، در محیط عملیاتی انجام دهید. شبیهساز یک نمونه محلی PGlite راهاندازی میکند که مشابه یک نمونه زنده PostgreSQL در Cloud SQL رفتار میکند.
یاد بگیرید چگونه طرحوارهها و عملیاتها را برای برنامه خود بنویسید
هنگام توسعه برنامهها با SQL Connect ، طراحی طرحها و عملیات شما یکی از اولین و مهمترین وظایف توسعهای است که انجام خواهید داد.
- Gemini در کنسول Firebase یک ابزار هوش مصنوعی است که میتواند طرحوارههای SQL Connect را از توضیحات زبان طبیعی برنامه شما تولید کند. این ابزار میتواند خیلی سریع شما را شروع کند، به خصوص اگر قبلاً هرگز با پایگاههای داده رابطهای کار نکردهاید.
- از طرف دیگر، میتوانید طرحوارهها، کوئریها و جهشهای پایگاه داده را مستقیماً با استفاده از GraphQL بنویسید. با راهنماییهای موجود در طرحوارههای Design SQL Connect شروع کنید و سپس برای یادگیری نحوه نوشتن عملیات، به صفحات بعدی بروید.
یاد بگیرید چگونه از SQL Connect بهروزرسانیهای بلادرنگ دریافت کنید
شما میتوانید از SQL Connect برای نوشتن برنامههای کلاینتی استفاده کنید که به صورت بلادرنگ به دادههای در حال تغییر واکنش نشان میدهند. به بخش «دریافت بهروزرسانیهای بلادرنگ از SQL Connect مراجعه کنید.
