Kotlin 2.1 जारी: भाषा और टूल्स में नया क्या है
16 नवंबर 2024 को JetBrains कंपनी ने Kotlin 2.1.0 का स्थिर संस्करण प्रस्तुत किया — एक बड़ा अपडेट जो संस्करण 2.0 में K2 कंपाइलर में क्रांतिकारी परिवर्तन के बाद भाषा के विकास को जारी रखता है। नया रिलीज़ न केवल बग्स को ठीक करता है, बल्कि कई लंबे समय से प्रतीक्षित प्रायोगिक सुविधाएँ भी पेश करता है। हम डेवलपर्स के लिए मुख्य बदलावों का विश्लेषण कर रहे हैं।
K2 का स्थिरीकरण: डेवलपर के लिए इसका क्या अर्थ है
मुख्य समाचार — K2 कंपाइलर, जो Kotlin 2.0 में वैकल्पिक था, अब JVM और मल्टीप्लेटफ़ॉर्म प्रोजेक्ट्स के लिए मुख्य बन गया है। K2 प्रदान करता है:
- बिल्ड में महत्वपूर्ण तेजी (बड़े प्रोजेक्ट्स पर 2–3 गुना तक);
- बेहतर टाइप आउटपुट (type inference) — कम स्पष्ट एनोटेशन;
- अधिक सटीक और समझने योग्य त्रुटि संदेश;
- Kotlin Multiplatform (KMP) और Compose Multiplatform के लिए पूर्ण समर्थन।
Gradle का उपयोग करने वाले डेवलपर्स को केवल Kotlin प्लगइन को संस्करण 2.1.0 में अपडेट करना होगा — K2 स्वचालित रूप से सक्रिय हो जाएगा।
भाषा की नई प्रायोगिक सुविधाएँ
संस्करण 2.1 कई प्रारंभिक सुविधाएँ पेश करता है, जो @OptIn एनोटेशन के माध्यम से उपलब्ध हैं। यहाँ सबसे दिलचस्प हैं:
- Non-local break/continue — अब इनलाइन फ़ंक्शंस में पारित लैम्ब्डा अभिव्यक्तियों के अंदर
breakऔरcontinueका उपयोग किया जा सकता है। यह कार्यात्मक शैली में लूप के साथ काम को सरल बनाता है। - Explicit backing fields — रिकर्सन कॉल के बिना गेटर/सेटर के अंदर प्रॉपर्टी फ़ील्ड तक सीधी पहुँच के लिए नई संरचना। डेलिगेटेड प्रॉपर्टी लिखना सरल बनाता है।
- Named arguments in lambda — लैम्ब्डा पैरामीटर के लिए नामित आर्गुमेंट्स के लिए प्रायोगिक समर्थन। कई लैम्ब्डा वाले कोड को अधिक पठनीय बनाता है।
Kotlin Multiplatform के लिए सुधार
Kotlin 2.1 मल्टीप्लेटफ़ॉर्म डेवलपमेंट के लिए एक महत्वपूर्ण कदम है। मुख्य बदलाव:
- मानक लाइब्रेरीज़ के लिए expect/actual का पूर्ण समर्थन — अब commonMain में सीधे प्लेटफ़ॉर्म-निर्भर फ़ंक्शंस घोषित किए जा सकते हैं।
- iOS टार्गेट के लिए CocoaPods और Swift Package Manager के साथ एकीकरण में सुधार।
- Android के लिए नया कॉन्फ़िगरेशन मोड: आधुनिक AGP (Android Gradle Plugin) 8.x के तहत source sets का स्वचालित सेटअप।
Compose Multiplatform में अपडेट
UI एप्लिकेशन डेवलपर्स के लिए, रिलीज़ में Resource API का समर्थन शामिल है — Compose Multiplatform में संसाधनों (चित्र, स्ट्रिंग्स, फ़ॉन्ट्स) के साथ काम करने का एक नया तरीका। संसाधनों को अब सामान्य मॉड्यूल में रखा जा सकता है, और प्लगइन स्वचालित रूप से प्रत्येक प्लेटफ़ॉर्म के लिए टाइप-सुरक्षित लिंक उत्पन्न करता है। यह एक समान रेंडरिंग लॉजिक के साथ क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन बनाने को सरल बनाता है।
Kotlin 2.1 में कैसे अपडेट करें
Gradle पर प्रोजेक्ट्स के लिए अपडेट सरल है। build.gradle.kts में जोड़ें:
plugins { kotlin("jvm") version "2.1.0" // या kotlin("multiplatform") version "2.1.0"}JetBrains अपडेट से पहले --warning-mode all फ़्लैग के साथ प्रोजेक्ट चलाने की सलाह देता है ताकि नए कंपाइलर के साथ संगतता की जाँच की जा सके। Int