صدر Kotlin 2.1: ما الجديد في اللغة والأدوات
في 16 نوفمبر 2024، قدمت شركة JetBrains النسخة المستقرة Kotlin 2.1.0 — تحديث كبير يواصل تطوير اللغة بعد الانتقال الثوري إلى المترجم K2 في الإصدار 2.0. الإصدار الجديد لا يصلح الأخطاء فحسب، بل يقدم أيضًا مجموعة من الإمكانيات التجريبية التي طال انتظارها. نستعرض التغييرات الرئيسية للمطورين.
استقرار 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 — بناء جديد للوصول المباشر إلى حقل الخاصية داخل getter/setter دون استدعاء متكرر. يُبسط كتابة الخصائص المفوضة.
- Named arguments in lambda — دعم تجريبي للوسائط المسماة لمعاملات لامدا. يجعل الكود الذي يحتوي على عدة لامدا أكثر قابلية للقراءة.
تحسينات لـ Kotlin Multiplatform
Kotlin 2.1 — خطوة مهمة للتطوير متعدد المنصات. التغييرات الرئيسية:
- دعم كامل لـ expect/actual للمكتبات القياسية — يمكن الآن تعريف الدوال المعتمدة على المنصة مباشرة في commonMain.
- تحسين التكامل مع CocoaPods و Swift Package Manager لأهداف iOS.
- وضع تكوين جديد لنظام Android: إعداد تلقائي لمجموعات المصادر (source sets) لمتطلبات AGP (Android Gradle Plugin) الحديثة 8.x.
تحديثات في Compose Multiplatform
لمطوري تطبيقات واجهة المستخدم، يتضمن الإصدار دعمًا لـ 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