এই কুইকস্টার্টে, আপনি একটি ছোট নমুনা ডেটাবেস তৈরি ও স্থাপন করবেন এবং একটি iOS অ্যাপ থেকে সেটি অ্যাক্সেস করবেন।
পূর্বশর্ত
এই কুইকস্টার্টটি সম্পন্ন করতে আপনার নিম্নলিখিত জিনিসগুলির প্রয়োজন হবে:
- এমন একটি পরিবেশ যেখানে নিম্নলিখিত টুলগুলি ইনস্টল করা আছে:
- Xcode- এর একটি সাম্প্রতিক সংস্করণ।
- ফায়ারবেস সিএলআই । যদি আপনার এনপিএম ইনস্টল করা থাকে, তাহলে চালান:
অন্যথায়, ইনস্টলেশন নির্দেশাবলীর জন্য ডকুমেন্টেশন দেখুন।npm install -g firebase-tools@latest
- একটি গুগল অ্যাকাউন্ট।
টিউটোরিয়াল
| টিউটোরিয়াল | |
|---|---|
১. একটি নতুন Xcode প্রজেক্ট তৈরি করুনXcode-এ App টেমপ্লেট ব্যবহার করে একটি নতুন প্রজেক্ট তৈরি করুন। | প্রজেক্টটির নাম Quickstart দিন এবং বান্ডেল আইডেন্টিফায়ার হিসেবে com.example.Quickstart ব্যবহার করুন। ![]() প্রজেক্টটি একটি খালি ফোল্ডারে তৈরি করুন, যেমন |
২. একটি ফায়ারবেস প্রজেক্ট শুরু করুনআপনার Xcode প্রজেক্টের ডিরেক্টরিতে যান এবং সেখানে একটি Firebase প্রজেক্ট শুরু করুন। | cd ~/qs-iosfirebase login --reauthfirebase init dataconnectনির্দেশিত হলে, নিম্নলিখিত বিকল্পগুলি বেছে নিন:
অন্যান্য সকল প্রম্পটের জন্য ডিফল্ট মানগুলো গ্রহণ করুন। এরপরে, আপনার Firebase প্রজেক্টে iOS অ্যাপটি রেজিস্টার করুন। firebase apps:create --bundle-id com.example.Quickstart ios ios-quickstartঅ্যাপ স্টোর আইডি উল্লেখ করতে বলা হলে, ধাপটি এড়িয়ে যেতে এন্টার চাপুন। firebase apps:sdkconfig ios -o Quickstart/GoogleService-Info.plist Xcode-এ, File > Add Files থেকে "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 কার্যকর করছেন, যা প্রশাসনিক কাজের জন্য অনুমোদিত। | |
৬. একটি 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) } } |
৭. আপনার Xcode প্রজেক্টে 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 } } } |
৯. অ্যাপটি ব্যবহার করে দেখুনএটি কীভাবে কাজ করে তা দেখতে, এক্সকোড থেকে উদাহরণ অ্যাপটি চালান। | |
পরবর্তী পদক্ষেপ
SQL Connect VS Code এক্সটেনশনটি ব্যবহার করে দেখুন
SQL Connect ব্যবহার করে ডেভেলপ করার সময়, আমরা SQL Connect VS Code এক্সটেনশনটি ব্যবহার করার জন্য জোরালোভাবে সুপারিশ করি। এমনকি যদি আপনি আপনার প্রধান ডেভেলপমেন্ট এনভায়রনমেন্ট হিসেবে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার নাও করেন, তবুও এই এক্সটেনশনটি এমন বেশ কিছু ফিচার প্রদান করে যা স্কিমা এবং অপারেশন ডেভেলপমেন্টকে আরও সুবিধাজনক করে তোলে:
- একটি GraphQL ল্যাঙ্গুয়েজ সার্ভার, যা SQL Connect জন্য নির্দিষ্ট সিনট্যাক্স চেকিং এবং অটোকমপ্লিট সাজেশন প্রদান করে।
- আপনার কোডের সাথে সংযুক্ত কোডলেন্স বাটন, যা আপনাকে আপনার স্কিমা ডেফিনিশন ফাইল থেকে ডেটা পড়তে ও লিখতে এবং আপনার অপারেশন ডেফিনিশন থেকে কোয়েরি ও মিউটেশন সম্পাদন করতে দেয়।
- আপনার তৈরি করা SDK-গুলোকে আপনার GraphQL ডেফিনিশনগুলোর সাথে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করে রাখুন।
- সরলীকৃত স্থানীয় এমুলেটর সেটআপ।
- প্রোডাকশনে স্থাপন প্রক্রিয়া সহজতর।
স্থানীয় ডেভেলপমেন্টের জন্য SQL Connect এমুলেটর ব্যবহার করুন
যদিও এই টিউটোরিয়ালটি আপনাকে দেখিয়েছে কিভাবে SQL Connect স্কিমা এবং অপারেশন সরাসরি প্রোডাকশনে ডেপ্লয় করতে হয়, আপনি সম্ভবত আপনার অ্যাপ ডেভেলপ করার সময় প্রোডাকশন ডেটাবেসে কোনো পরিবর্তন করতে চাইবেন না। এর পরিবর্তে, SQL Connect এমুলেটর সেট আপ করুন এবং প্রোডাকশনের বদলে সেটির উপর আপনার ডেভেলপমেন্টের কাজ করুন। এমুলেটরটি একটি লোকাল PGlite ইনস্ট্যান্স তৈরি করে, যা Cloud SQL এর একটি লাইভ PostgreSQL ইনস্ট্যান্সের মতোই আচরণ করে।
আপনার অ্যাপের জন্য স্কিমা এবং অপারেশন কীভাবে লিখতে হয় তা শিখুন।
SQL Connect ব্যবহার করে অ্যাপ তৈরি করার সময়, আপনার স্কিমা এবং অপারেশনগুলির ডিজাইন করা হলো প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ ডেভেলপমেন্ট কাজগুলোর মধ্যে একটি যা আপনাকে সম্পন্ন করতে হবে।
- Firebase কনসোলের জেমিনি হলো একটি এআই টুল যা আপনার অ্যাপের স্বাভাবিক ভাষার বর্ণনা থেকে SQL Connect স্কিমা তৈরি করতে পারে। এই টুলটি আপনাকে খুব দ্রুত কাজ শুরু করতে সাহায্য করতে পারে, বিশেষ করে যদি আপনি আগে কখনো রিলেশনাল ডেটাবেস নিয়ে কাজ না করে থাকেন।
- বিকল্পভাবে, আপনি সরাসরি GraphQL ব্যবহার করে ডাটাবেস স্কিমা, কোয়েরি এবং মিউটেশন লিখতে পারেন। "Design SQL Connect schemas"- এর নির্দেশিকা দিয়ে শুরু করুন, এবং তারপরে অপারেশন কীভাবে লিখতে হয় তা শিখতে পরবর্তী পৃষ্ঠাগুলিতে যান।
SQL Connect থেকে কীভাবে রিয়েল-টাইম আপডেট পাবেন তা জানুন।
আপনি SQL Connect ব্যবহার করে এমন ক্লায়েন্ট অ্যাপ্লিকেশন লিখতে পারেন যা রিয়েল টাইমে পরিবর্তনশীল ডেটার প্রতি সাড়া দেয়। SQL Connect থেকে রিয়েল-টাইম আপডেট কীভাবে পাবেন তা দেখুন।
