Compose Multiplatform Kotlin: पूर्ण गाइड
Compose Multiplatform (CMP) में आपका स्वागत है — JetBrains की आधुनिक तकनीक जो Android, iOS, Desktop (Windows, macOS, Linux) और Web के लिए एक ही Kotlin कोड से नेटिव यूज़र इंटरफ़ेस बनाने की सुविधा देती है। इस लेख में हम इंस्टॉलेशन से लेकर एडवांस्ड तकनीकों और बेस्ट प्रैक्टिसेज़ तक सब कुछ कवर करेंगे।
1. यह क्या है और क्यों ज़रूरी है?
Compose Multiplatform एक डिक्लेरेटिव UI फ्रेमवर्क है जो Google के Jetpack Compose पर आधारित है, लेकिन इसे कई प्लेटफ़ॉर्म पर काम करने के लिए बढ़ाया गया है। पारंपरिक तरीकों (जैसे Android के लिए अलग XML और iOS के लिए SwiftUI) के विपरीत, CMP आपको UI लॉजिक एक बार लिखने और उसे हर प्लेटफ़ॉर्म के लिए नेटिव कोड में कंपाइल करने की अनुमति देता है।
यह क्यों ज़रूरी है? पहला, डेवलपमेंट टाइम में भारी कमी: दो या अधिक कोडबेस को मेंटेन करने के बजाय, आप एक ही कोडबेस पर काम करते हैं। दूसरा, UI कंसिस्टेंसी: बिज़नेस लॉजिक और ऐप का लुक सभी प्लेटफ़ॉर्म पर एक जैसा होता है, जिससे टेस्टिंग और मेंटेनेंस आसान हो जाता है। तीसरा, नेटिव API तक पहुंच: आप expect/actual मैकेनिज़्म के ज़रिए प्लेटफ़ॉर्म-स्पेसिफिक कोड (जैसे कैमरा या जियोलोकेशन) का उपयोग कर सकते हैं, बिना Kotlin इकोसिस्टम छोड़े।
Compose Multiplatform स्टार्टअप्स, प्रोडक्ट टीमों और उन डेवलपर्स के लिए आदर्श है जो बिना प्रयास दोहराए अधिकतम ऑडियंस तक पहुंचना चाहते हैं। यह लाइब्रेरी JetBrains और कम्युनिटी द्वारा सक्रिय रूप से विकसित की जा रही है, और 2025 तक क्रॉस-प्लेटफ़ॉर्म डेवलपमेंट की दुनिया में सबसे आशाजनक समाधानों में से एक है।
2. इंस्टॉलेशन
चूंकि Compose Multiplatform पारंपरिक लाइब्रेरी (जैसे pip पैकेज) नहीं है, बल्कि Gradle के लिए प्लगइन्स और कॉन्फ़िगरेशन का सेट है, इसलिए इंस्टॉलेशन Kotlin Multiplatform बिल्ड सिस्टम के ज़रिए किया जाता है। नया प्रोजेक्ट बनाने के लिए यहां सटीक स्टेप्स दिए गए हैं:
स्टेप 1: IntelliJ IDEA के ज़रिए प्रोजेक्ट बनाएं (अनुशंसित)
IntelliJ IDEA (Community या Ultimate) खोलें, File → New → Project चुनें। विज़ार्ड में Compose Multiplatform टेम्पलेट चुनें। प्रोजेक्ट का नाम दें और "Finish" पर क्लिक करें। IDE ऑटोमैटिकली स्ट्रक्चर और सभी ज़रूरी डिपेंडेंसी जनरेट कर देगा।
स्टेप 2: मैन्युअल सेटअप (मौजूदा प्रोजेक्ट के लिए)
रूट build.gradle.kts फ़ाइल में निम्न कोड जोड़ें:
plugins {
kotlin("multiplatform") version "2.0.21"
id("org.jetbrains.compose") version "1.7.1"
id("org.jetbrains.kotlin.plugin.compose") version "2.0.21"
}
kotlin {
androidTarget()
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
}
sourceSets {
val commonMain by getting {
dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
}
}
val androidMain by getting {
dependencies {
implementation("androidx.activity:activity-compose:1.9.3")
}
}
}
}
महत्वपूर्ण: प्लगइन और Kotlin के वर्शन आपस में संगत होने चाहिए। नवीनतम वर्शन हमेशा Compose Multiplatform के GitHub रिपॉजिटरी पर देखे जा सकते हैं।
3. त्वरित शुरुआत — न्यूनतम काम करने वाला उदाहरण
प्रोजेक्ट बनाने के बाद commonMain/kotlin/App.kt फ़ाइल खोलें और उसकी सामग्री को निम्न कोड से बदलें:
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
i