আপনার পরিবেশ সেট আপ করুন (কোটলিন মাল্টিপ্ল্যাটফর্ম)

Kotlin Multiplatform (KMP) বিভিন্ন প্ল্যাটফর্ম জুড়ে Kotlin কোড ভাগাভাগি করতে সক্ষম করে। আপনি KMP দিয়ে অ্যাপ তৈরি করা শুরু করার আগে, এই নথিতে বর্ণিত হিসাবে আপনাকে আপনার পরিবেশ সেট আপ করতে হবে। আপনি Jetbrain এর অফিসিয়াল ডকুমেন্টেশনও উল্লেখ করতে পারেন।

প্রয়োজনীয় টুল ইনস্টল বা আপডেট করুন

  • অ্যান্ড্রয়েড স্টুডিওর সর্বশেষ স্থিতিশীল সংস্করণে ইনস্টল বা আপডেট করুন।
  • সামঞ্জস্যের সমস্যা এড়াতে অ্যান্ড্রয়েড স্টুডিওর সাথে বান্ডিল করা Kotlin প্লাগইনটিকে সর্বশেষ সংস্করণে আপডেট করুন।
  • (ঐচ্ছিক) iOS বিকাশের জন্য, UI তৈরি করতে Xcode ইনস্টল করুন এবং প্রয়োজন অনুসারে Swift বা Objective-C কোড যোগ করুন।

একটি কোটলিন মাল্টিপ্ল্যাটফর্ম প্রকল্প তৈরি করুন

আপনি একটি নতুন KMP প্রকল্প তৈরি করতে Jetbrains থেকে Kotlin Multiplatform উইজার্ড ব্যবহার করতে পারেন। UI নেটিভ রাখতে UI ভাগ করবেন না বিকল্পটি বেছে নেওয়ার বিষয়টি নিশ্চিত করুন।

প্রকল্প কাঠামো

কেএমপি প্রকল্পগুলি অ্যান্ড্রয়েড প্রকল্পগুলির মতো একটি প্রকল্প কাঠামো অনুসরণ করে।

একটি কেএমপি প্রকল্পে একটি ভাগ করা মডিউল সহ প্ল্যাটফর্ম-নির্দিষ্ট মডিউল রয়েছে। প্রাসঙ্গিক মডিউলে আপনার প্ল্যাটফর্ম-নির্দিষ্ট কোড যোগ করুন। উদাহরণস্বরূপ, androidApp মডিউলে আপনার Android অ্যাপ UI এবং iosApp- এ আপনার iOS অ্যাপ UI যোগ করুন। যেকোন কোড আপনি প্ল্যাটফর্মের মধ্যে শেয়ার করতে চান শেয়ার করা মডিউলে যায়।

ভাগ করা মডিউলটি প্রকল্পের বাকি অংশের মতোই বিল্ড সিস্টেম হিসাবে গ্রেডল ব্যবহার করে। আপনি সোর্সসেট ব্যবহার করে সাধারণ এবং প্ল্যাটফর্ম-নির্দিষ্ট নির্ভরতা ঘোষণা করতে পারেন। উদাহরণস্বরূপ, যদি আপনার অ্যাপ নেটওয়ার্কিংয়ের জন্য Ktor ব্যবহার করে, তাহলে আপনাকে Android এর জন্য একটি OkHttp নির্ভরতা এবং iOS এর জন্য একটি ডারউইন নির্ভরতা যোগ করতে হবে। নোট করুন যে কিছু লাইব্রেরির শুধুমাত্র সাধারণ নির্ভরতা প্রয়োজন এবং প্ল্যাটফর্ম-নির্দিষ্ট নির্ভরতার প্রয়োজন নেই।

sourceSets {
   commonMain.dependencies {
       //put your multiplatform dependencies here
       //...
       implementation(libs.ktor.client.core)
       implementation(libs.ktor.client.content.negotiation)
       implementation(libs.ktor.serialization.kotlinx.json)
       //...
   }
   androidMain.dependencies {
       implementation(libs.ktor.client.okhttp)
   }
   iosMain.dependencies {
       implementation(libs.ktor.client.darwin)
   }
}

আপনি যখন আপনার অ্যাপের ভাগ করা মডিউলে একটি নতুন লাইব্রেরি যোগ করেন, তখন প্রতিটি প্ল্যাটফর্মের জন্য প্রয়োজনীয় নির্ভরতাগুলি পরীক্ষা করতে ভুলবেন না।