আগে থেকে থাকা প্রোজেক্টে Kotlin Multiplatform যোগ করা

আপনার Android প্রোজেক্টের মধ্যে Kotlin Multiplatform (KMP) মডিউল তৈরি করতে, Kotlin Multiplatform Shared Module টেমপ্লেট ব্যবহার করুন, যা Android Studio Meerkat এবং Android Gradle Plugin 8.8.0 এবং তার পরবর্তী ভার্সনে উপলভ্য।

মডিউল টেমপ্লেট Android ও iOS প্ল্যাটফর্মকে টার্গেট করে ন্যূনতম কনফিগারেশন সহ নতুন মডিউল অটোমেটিক তৈরি করে। KMP-তে ডেস্কটপ ও ওয়েবের মতো অন্যান্য টার্গেটও কাজ করে, যা আপনি পরে মডিউলে যোগ করতে পারবেন। সম্পূর্ণ তালিকা দেখতে, কাজ করে এমন প্ল্যাটফর্মের স্টেবিলিটি দেখুন। টার্গেট ঘোষণা করতে, মাল্টিপ্ল্যাটফর্ম Gradle DSL রেফারেন্সে টার্গেট দেখুন।

শেয়ার করা KMP মডিউল সেট-আপ করুন

শেয়ার করা KMP মডিউল তৈরি করতে, এই ধাপগুলি অনুসরণ করুন:

  1. ফাইল > নতুন > নতুন মডিউল বিকল্প বেছে নিন
  2. টেমপ্লেট প্যানেলে Kotlin Multiplatform Shared Module টেমপ্লেট বেছে নিন:
নতুন KMP মডিউল তৈরি করা হচ্ছে
ছবি ১. নতুন KMP মডিউল তৈরি করা হচ্ছে

টেমপ্লেটে নিম্নলিখিত ফিল্ডগুলি রয়েছে:

  • মডিউলের নাম – Gradle মডিউলের নাম এবং iOS ফ্রেমওয়ার্কের নাম সংজ্ঞায়িত করে (পরে পরিবর্তন করা যেতে পারে)
  • প্যাকেজের নাম – এই মডিউলে ফাইলের জন্য প্যাকেজের নাম নির্ধারণ করে
    1. শেষ করুন বিকল্পে ক্লিক করুন এবং Gradle-কে প্রোজেক্টের সাথে সিঙ্ক করার অনুমতি দিন। এছাড়াও, আপনাকে সোর্স কন্ট্রোলে নতুন তৈরি করা মডিউল ফাইল যোগ করার জন্য প্রম্পট করা হতে পারে।

সম্পূর্ণ হয়ে গেলে, Android Studio প্রোজেক্ট ভিউ প্রতিটি প্ল্যাটফর্মের জন্য সোর্সসেটের সাথে নতুন শেয়ার করা মডিউল দেখায়।

প্রোজেক্ট ভিউতে নতুন শেয়ার করা মডিউল দেখানো হচ্ছে
ছবি ২. প্রোজেক্ট ভিউতে নতুন শেয়ার করা মডিউল দেখানো হচ্ছে

মডিউল উইজার্ড নতুন তৈরি করা মডিউলকে আগে থেকে থাকা কোনও মডিউলের ডিপেন্ডেন্সি হিসেবে যোগ করে না। পরবর্তী ধাপ হিসেবে, আপনাকে শেয়ার করা মডিউলটি আপনার আগে থেকে থাকা কোনও একটি Gradle মডিউলের সাথে লিঙ্ক করতে হবে, ঠিক যেমন অন্যান্য Android ডিপেন্ডেন্সির ক্ষেত্রে করা হয়:

dependencies {
    ...
    implementation(project(":shared"))
}

চালু হয়ে গেলে, আপনি আগের মতোই অ্যাক্সেস কোড ব্যবহার করতে পারবেন। Android অ্যাপ থেকে, আপনি androidMain বা commonMain-এ উপলভ্য কোড অ্যাক্সেস করতে পারবেন।

Kotlin Multiplatform প্রোজেক্ট স্ট্রাকচার সম্পর্কে আরও জানতে, Kotlin Multiplatform প্রোজেক্ট স্ট্রাকচারের প্রাথমিক তথ্য দেখুন

iOS অ্যাপে শেয়ার করা মডিউল সেট-আপ করুন

Swift সরাসরি Kotlin মডিউল ব্যবহার করতে পারে না এবং এর জন্য একটি কম্পাইল করা বাইনারি ফ্রেমওয়ার্ক তৈরি করতে হয়।

Android Studio-তে নতুন মডিউল টেমপ্লেট, প্রতিটি iOS আর্কিটেকচারের জন্য ফ্রেমওয়ার্ক তৈরি করতে শেয়ার করা মডিউল কনফিগার করে। আপনি শেয়ার করা মডিউলের build.gradle.kts ফাইলে নিম্নলিখিত কোডটি খুঁজে পাবেন:

val xcfName = "sharedKit"

iosX64 {
  binaries.framework {
    baseName = xcfName
  }
}

iosArm64 {
  binaries.framework {
    baseName = xcfName
  }
}

iosSimulatorArm64 {
  binaries.framework {
    baseName = xcfName
  }
}

অন্যান্য আর্কিটেকচারের ধরন নির্ধারণ করার ব্যাপারে তথ্য পেতে হায়ারার্কিক্যাল প্রোজেক্ট স্ট্রাকচার দেখুন।

iOS প্রোজেক্ট থেকে শেয়ার করা কোডে অ্যাক্সেস চালু করতে, Swift সোর্স কম্পাইল করার আগে Kotlin ফ্রেমওয়ার্ক জেনারেট করার জন্য একটি স্ক্রিপ্ট ফেজ যোগ করুন:

  1. Android Studio-তে ফাইলের উপর মাউস রেখে ডানদিকের বোতামে ক্লিক করুন এবং এতে খুলুন ও সংশ্লিষ্ট অ্যাপ্লিকেশনে খুলুন বিকল্প বেছে নিন। এটি Xcode-এ iOS অ্যাপ খুলবে।
সংশ্লিষ্ট অ্যাপ্লিকেশনে খুলুন
ছবি ৩. সংশ্লিষ্ট অ্যাপ্লিকেশনে খুলুন
  1. প্রোজেক্ট নেভিগেটরে প্রোজেক্টের নামের উপর ডবল ক্লিক করে প্রোজেক্ট সেটিংস খুলুন
Xcode প্রোজেক্ট সেটিংস সংক্রান্ত ডায়ালগ
ছবি ৪. Xcode প্রোজেক্ট সেটিংস ডায়ালগ
  1. এই ফেজ কী করে তা আরও ভালভাবে শনাক্ত করতে, ডিফল্ট রান স্ক্রিপ্ট নাম পরিবর্তন করে Kotlin ফ্রেমওয়ার্ক কম্পাইল করুন করুন। স্ক্রিপ্ট চালান শীর্ষক এডিট করতে এটিতে ডবল ক্লিক করুন।
  2. বিল্ড ফেজ বড় করুন এবং শেল টেক্সট ফিল্ডে, নিম্নলিখিত স্ক্রিপ্ট কোড লিখুন:
নতুন রান স্ক্রিপ্ট বিল্ড ফেজ যোগ করা হচ্ছে
ছবি ৫. স্ক্রিপ্ট বিল্ড ফেজ চালান
  1. Compile Sources ফেজের আগে Run Script ফেজ টেনে আনুন।

    সোর্স কম্পাইল করার আগে স্ক্রিপ্ট বিল্ড ফেজ চালান
    ছবি ৬. সোর্স কম্পাইল করার আগে স্ক্রিপ্ট বিল্ড ফেজ চালান

  2. ⌘B-এ ক্লিক করে অথবা প্রোডাক্ট মেনুতে গিয়ে এবং বিল্ড বেছে নিয়ে Xcode-এ প্রোজেক্ট বিল্ড করুন।

বিল্ড সফল হলে, আপনি নিম্নলিখিত আইকন দেখতে পাবেন।

Xcode-এ বিল্ড সফলভাবে দেখানো হয়েছে
ছবি ৭. বিল্ড সম্পূর্ণ হয়েছে

iOS অ্যাপে শেয়ার করা কোড অ্যাক্সেস করুন

iOS অ্যাপ শেয়ার করা মডিউল থেকে কোড অ্যাক্সেস করতে পারছে কিনা তা যাচাই করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. iOS প্রোজেক্টে, এখানে ContentView.swift ফাইল খুলুন: Sources/View/ContentView.swift
  2. ফাইলের সবচেয়ে উপরে ইমপোর্ট sharedKit যোগ করুন।
  3. নিচে দেখানো স্ট্রিংয়ের মতো টেক্সট ভিউ পরিবর্তন করে Platform_iosKt.platform() তথ্য যোগ করুন:

এই আপডেট চেক করে যে অ্যাপটি শেয়ার করা মডিউল থেকে platform() ফাংশন কল করতে পারে কিনা, যা iOS প্ল্যাটফর্মে রান করার সময় "iOS" রিটার্ন করবে।

iOS অ্যাপে Xcode সিমুলেটর চলছে
ছবি ৮. iOS অ্যাপ চালানো Xcode সিমুলেটর

অতিরিক্ত রিসোর্স