इस क्विकस्टार्ट में, आपको डेटाबेस का एक छोटा सैंपल बनाने और उसे डिप्लॉय करने के साथ-साथ, iOS ऐप्लिकेशन से उसे ऐक्सेस करने का तरीका बताया जाएगा.
ज़रूरी शर्तें
इस क्विकस्टार्ट को पूरा करने के लिए, आपको इनकी ज़रूरत होगी:
- ऐसा एनवायरमेंट जिसमें ये टूल इंस्टॉल हों:
- Xcode का कोई नया वर्शन.
- Firebase CLI. अगर आपने NPM इंस्टॉल किया है, तो यह कमांड चलाएं:
इसके अलावा, इंस्टॉल करने के निर्देशों के लिए दस्तावेज़ देखें.npm install -g firebase-tools@latest
- एक Google खाता.
ट्यूटोरियल
| ट्यूटोरियल | |
|---|---|
1. Xcode में नया प्रोजेक्ट बनानाXcode में, ऐप्लिकेशन टेंप्लेट की मदद से नया प्रोजेक्ट बनाएं. |
प्रोजेक्ट का नाम Quickstart रखें. साथ ही, बंडल आइडेंटिफ़ायर com.example.Quickstart रखें.
प्रोजेक्ट को किसी खाली फ़ोल्डर में बनाएं. जैसे, |
2. Firebase प्रोजेक्ट को शुरू करनाअपने Xcode प्रोजेक्ट की प्रोजेक्ट डायरेक्ट्री पर जाएं और उसमें Firebase प्रोजेक्ट शुरू करें. |
cd ~/qs-iosfirebase login --reauthfirebase init dataconnectअनुरोध मिलने पर, ये विकल्प चुनें:
अन्य सभी अनुरोधों के लिए, डिफ़ॉल्ट वैल्यू स्वीकार करें. इसके बाद, अपने iOS ऐप्लिकेशन को Firebase प्रोजेक्ट में रजिस्टर करें. firebase apps:create --bundle-id com.example.Quickstart ios ios-quickstartApp Store आईडी की जानकारी देने का अनुरोध मिलने पर, Enter दबाकर इस चरण को छोड़ दें. firebase apps:sdkconfig ios -o Quickstart/GoogleService-Info.plistXcode में, फ़ाइल > "Quickstart" में फ़ाइलें जोड़ें को चुनें. इसके बाद,
|
3. GraphQL की परिभाषाओं के उदाहरण देखनाSQL Connect में, आपको GraphQL का इस्तेमाल करके अपने डेटाबेस के सभी स्कीमा और कार्रवाइयां तय करनी होंगी. प्रोजेक्ट शुरू करने पर, Firebase CLI ने कुछ उदाहरण वाली परिभाषाएं बनाई हैं, ताकि आपको शुरुआत करने में मदद मिल सके. |
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. अपने स्कीमा और कार्रवाइयों को डिप्लॉय करनाडेटाबेस के स्कीमा, क्वेरी या म्यूटेशन में बदलाव करने पर, आपको उन्हें डिप्लॉय करना होगा. ऐसा करने पर ही, डेटाबेस में आपके बदलाव दिखेंगे. |
|
5. डेटाबेस में सैंपल डेटा जोड़नासैंपल ऐप्लिकेशन की जांच करते समय, इस डेटा की मदद से आपको यह देखने में मदद मिलेगी कि ऐप्लिकेशन कैसा काम करता है. ध्यान दें कि इस चरण में, आपको GraphQL का इस्तेमाल करके कोई भी क्वेरी चलाने की अनुमति है. ऐसा, एडमिन से जुड़े टास्क पूरे करने के लिए किया जा सकता है. |
|
6. iOS क्लाइंट SDK टूल जनरेट करनाइस कमांड से, GraphQL की परिभाषाओं का इस्तेमाल करके, आपके डेटाबेस के लिए खास तौर पर iOS क्लाइंट SDK टूल जनरेट किया जाता है. क्लाइंट ऐप्लिकेशन में, इस लाइब्रेरी का इस्तेमाल करके डेटाबेस से जुड़ी सभी कार्रवाइयां की जा सकती हैं. ` |
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 प्रोजेक्ट में Firebase की डिपेंडेंसी जोड़नाSwift Package Manager का इस्तेमाल करके, जनरेट की गई लाइब्रेरी को अपने प्रोजेक्ट में जोड़ें. जनरेट की गई लाइब्रेरी जोड़ने पर, इसमें Firebase की कोर लाइब्रेरी और Firebase SQL Connect लाइब्रेरी भी शामिल हो जाएंगी. |
Xcode के नेविगेशन बार में,
फ़ाइल > पैकेज की डिपेंडेंसी जोड़ें > स्थानीय जोड़ें को चुनें. इसके बाद, जनरेट की गई लाइब्रेरी वाला फ़ोल्डर चुनें.
|
8. 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 } } } |
9. ऐप्लिकेशन आज़माएंसैंपल ऐप्लिकेशन को 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 का एक स्थानीय इंस्टेंस सेट अप करता है. यह Cloud SQL पर मौजूद PostgreSQL के लाइव इंस्टेंस की तरह काम करता है.
अपने ऐप्लिकेशन के लिए स्कीमा और ऑपरेशन लिखने का तरीका जानना
SQL Connect की मदद से ऐप्लिकेशन डेवलप करते समय, स्कीमा और ऑपरेशन का डिज़ाइन, डेवलपमेंट के सबसे पहले और सबसे अहम टास्क में से एक है.
- Firebase कंसोलFirebase में मौजूद Gemini, एक एआई टूल है जो आपके ऐप्लिकेशन की नैचुरल लैंग्वेज में दी गई जानकारी के आधार पर, SQL Connect स्कीमा जनरेट कर सकता है. इस टूल की मदद से, बहुत तेज़ी से काम शुरू किया जा सकता है. खास तौर पर, अगर आपने पहले कभी रिलेशनल डेटाबेस के साथ काम नहीं किया है, तो यह आपके लिए बहुत मददगार साबित हो सकता है.
- इसके अलावा, GraphQL का इस्तेमाल करके सीधे डेटाबेस के स्कीमा, क्वेरी, और म्यूटेशन लिखे जा सकते हैं. SQL Connect के स्कीमा डिज़ाइन करने के बारे में जानकारी से शुरुआत करें. इसके बाद, ऑपरेशन लिखने का तरीका जानने के लिए, अगले पेज पर जाएं.SQL Connect
SQL Connect से रीयल-टाइम अपडेट पाने का तरीका जानना
SQL Connect का इस्तेमाल करके, ऐसे क्लाइंट ऐप्लिकेशन लिखे जा सकते हैं जो रीयल टाइम में डेटा में होने वाले बदलावों के हिसाब से काम करते हैं. से रीयल-टाइम अपडेट पाना लेख पढ़ें.SQL Connect