अपना एनवायरमेंट सेट अप करें (Kotlin Multiplatform)

Kotlin Multiplatform (केएमपी) की मदद से Kotlin कोड शेयर किया जा सकता है अलग-अलग प्लैटफ़ॉर्म पर काम करता है. केएमपी की मदद से ऐप्लिकेशन बनाना शुरू करने से पहले, आपको ये काम करने होंगे इस दस्तावेज़ में बताए गए तरीके से अपना एनवायरमेंट सेट अप करें. इन्हें भी देखा जा सकता है Jetbrain का आधिकारिक दस्तावेज़.

ज़रूरी टूल इंस्टॉल या अपडेट करें

  • Android Studio को नए और स्टेबल वर्शन में इंस्टॉल या अपडेट करें.
  • Android Studio के साथ बंडल किए गए Kotlin प्लगिन को अपडेट करें साथ काम करने से जुड़ी समस्याओं से बचने के लिए, नए वर्शन पर अपडेट करें.
  • (ज़रूरी नहीं) iOS डेवलपमेंट के लिए, Xcode इंस्टॉल करके यूज़र इंटरफ़ेस (यूआई) और ज़रूरत के हिसाब से Swift या Objective-C कोड जोड़ें.

Kotlin मल्टीप्लैटफ़ॉर्म प्रोजेक्ट बनाना

Jetbrains से Kotlin Multiplatform विज़र्ड का इस्तेमाल करके एक नया KMP प्रोजेक्ट बनाएं. अपनी सदस्यता के लैंडिंग पेज पर, ऐसा न करें यूज़र इंटरफ़ेस (यूआई) को नेटिव बनाए रखने के लिए विकल्प शेयर करें.

प्रोजेक्ट का स्ट्रक्चर

केएमपी प्रोजेक्ट, Android प्रोजेक्ट से मिलते-जुलते प्रोजेक्ट स्ट्रक्चर को फ़ॉलो करते हैं.

केएमपी प्रोजेक्ट में प्लैटफ़ॉर्म के हिसाब से बने मॉड्यूल और शेयर किए गए मॉड्यूल होते हैं. काम के मॉड्यूल में, अपने प्लैटफ़ॉर्म के बारे में खास कोड जोड़ें. उदाहरण के लिए, अपना androidApp मॉड्यूल में Android ऐप्लिकेशन का यूज़र इंटरफ़ेस (यूआई) और iosApp में आपके iOS ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की इमेज. आपको प्लैटफ़ॉर्म के बीच जिस कोड को शेयर करना है वह शेयर किए गए मॉड्यूल में आता है.

शेयर किया गया मॉड्यूल, बाकी के मॉड्यूल की तरह ही Gradle का इस्तेमाल बिल्ड सिस्टम के तौर पर करता है प्रोजेक्ट. इसका इस्तेमाल करके, सामान्य और प्लैटफ़ॉर्म के हिसाब से डिपेंडेंसी का एलान किया जा सकता है सोर्ससेट शामिल हैं. उदाहरण के लिए, अगर आपका ऐप्लिकेशन नेटवर्किंग के लिए 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)
   }
}

अपने ऐप्लिकेशन के शेयर किए गए मॉड्यूल में कोई नई लाइब्रेरी जोड़ते समय, पक्का करें कि पर निर्भर करता है.