कोटलिन 2.1 का नया रिलीज़ जारी: क्या बदला
JetBrains टीम ने आधिकारिक तौर पर Kotlin 2.1 का स्थिर रिलीज़ प्रस्तुत किया है। यह एक बड़ा अपडेट है, जो नए K2 कंपाइलर पर मौलिक संक्रमण के बाद भाषा के विकास को जारी रखता है। नया संस्करण लंबे समय से प्रतीक्षित स्थिरीकरण, प्रदर्शन में कई सुधार और मल्टीप्लेटफ़ॉर्म विकास के लिए क्षमताओं का विस्तार लाता है।
Kotlin 2.1 सिर्फ एक और पैच नहीं है, बल्कि एक पूर्ण रिलीज़ है, जिसमें पिछले प्रायोगिक बिल्ड के सैकड़ों बग ठीक किए गए हैं, साथ ही नए फीचर जोड़े गए हैं जो भाषा के साथ काम को और अधिक सुरक्षित और संक्षिप्त बनाते हैं। आइए मुख्य परिवर्तनों पर विस्तार से नज़र डालें।
K2 कंपाइलर का स्थिरीकरण
संस्करण 2.1 की मुख्य विशेषता JVM, Android, Native और JavaScript के लिए नए K2 कंपाइलर का पूर्ण स्थिरीकरण है। जबकि पिछले संस्करणों में K2 प्रायोगिक था और इसे स्पष्ट रूप से सक्षम करने की आवश्यकता थी, अब यह सभी प्लेटफार्मों के लिए डिफ़ॉल्ट रूप से उपयोग किया जाता है।
इससे डेवलपर्स को क्या मिलता है:
- प्रदर्शन में वृद्धि: प्रोजेक्ट का कंपाइलेशन 20-40% तेज़ हो गया है, खासकर बड़े कोड बेस पर यह ध्यान देने योग्य है।
- बेहतर टाइप अनुमान: K2 जटिल कॉल चेन, लैम्ब्डा और जेनेरिक को बेहतर ढंग से समझता है, जिससे कंपाइलेशन त्रुटियों की संख्या कम हो जाती है।
- स्पष्ट त्रुटि संदेश: डायग्नोस्टिक्स अधिक सटीक हो गया है - कंपाइलर न केवल यह बताता है कि "क्या गलत है", बल्कि सुधार भी सुझाता है।
स्टैंडर्ड लाइब्रेरी के नए फीचर
kotlin-stdlib लाइब्रेरी में कई उपयोगी टूल जोड़े गए हैं:
- फ़ंक्शन
buildMapऔरbuildList: अब वे आंतरिक डेटा संरचनाओं के अनुकूलन के कारण और भी तेज़ी से काम करते हैं। - नया क्लास
Duration: समय अंतराल अंकगणित के लिए समर्थन का विस्तार किया गया है, स्ट्रिंग पार्सिंग के लिए सुरक्षित तरीके जोड़े गए हैं। Regexमें सुधार: बॉक्स से बाहर नामित कैप्चर समूहों के लिए समर्थन - जटिल पैटर्न के लिए अब अपने स्वयं के पार्सर लिखने की आवश्यकता नहीं है।
मल्टीप्लेटफ़ॉर्म विकास (KMP)
Kotlin Multiplatform को एक महत्वपूर्ण अपडेट मिला है। अब Kotlin 2.1 आधिकारिक तौर पर समर्थन करता है:
- Apple Silicon (arm64): M1/M2/M3 के लिए नेटिव कंपाइलेशन तेज़ और अधिक स्थिर हो गया है।
- Wasm (WebAssembly): WebAssembly में बिल्ड के लिए प्रायोगिक समर्थन को अल्फा चरण में स्थानांतरित कर दिया गया है। अब Kotlin कोड को सीधे ब्राउज़र बाइट-कोड में कंपाइल किया जा सकता है।
- सरलीकृत कॉन्फ़िगरेशन: नए Gradle प्लगइन्स build.gradle.kts में बॉयलरप्लेट कोड को 30% तक कम करते हैं।
Android और Compose के लिए सुधार
Android डेवलपर्स के लिए, Kotlin 2.1 में Jetpack Compose के तहत अनुकूलन जोड़ा गया है। कंपाइलर अब @Composable फ़ंक्शन के लिए अधिक कुशल बाइट-कोड उत्पन्न करता है, जिससे मृत कोड को बेहतर ढंग से हटाने के कारण APK का आकार 15% तक कम हो जाता है। इसके अलावा, Compose Runtime लाइब्रेरी के साथ संगतता में सुधार किया गया है, जिससे रनटाइम क्रैश की संख्या कम हो जाती है।
कैसे अपडेट करें?
Kotlin 2.1 पर स्विच करने के लिए, build.gradle.kts फ़ाइल में प्लगइन का संस्करण बदलना पर्याप्त है:
plugins { kotlin("jvm") version "2.1.0"}बाद