Kotlin 2.0 را در برنامه های اندرویدی تطبیق دهید

این پست را به زبان اسپانیایی اینجا بخوانید.
اخیراً نسخه 2.0 Kotlin منتشر شده است و به همراه آن چندین تغییر در پروژه های اندروید برای تطبیق یا پیاده سازی کد با این نسخه جدید از زبان برنامه نویسی که به طور رسمی توسط گوگل برای توسعه موبایل اندروید پشتیبانی می شود (Multiplatform، طبق آخرین نسخه های رویداد Google I/O).
در این مقاله کوتاه، تجربه خود را از مهاجرت از نسخه توضیح می دهم 1.9.23
به نسخه 2.0.0
; این به دلیل نوآوریهایی است که استفاده از این نسخه جدید در پروژههایی که از Kotlin به عنوان زبان برنامهنویسی استفاده میکنند و همچنین مشکل احتمالی بسیاری از ما توسعهدهندگان برای اعمال مهاجرت از نسخههای Kotlin بسیار کمتر از آن است. 1.9.0
.
درباره کامپایلر K2
کامپایلر K2 یک پیاده سازی کامل از کامپایلر اصلی Kotlin است که برای ارائه پیشرفت های قابل توجه در توسعه برنامه های اندروید طراحی شده است. K2 که در Kotlin 2.0 معرفی شده است چندین مزیت را ارائه می دهد که از جمله آنها می توان به موارد زیر اشاره کرد: سرعت کامپایل سریعتر، بهبود عملکرد، و بهبود پشتیبانی از پلتفرم های مختلف. این مزیتهای اعمال شده در پروژههای اندرویدی باعث کاهش حجم برنامهها با تولید کد فشردهتر و همچنین تولید کد بومی میشود که به معنای عملکرد بیشتر در برنامههای تلفن همراه است.
چگونه کامپایلر K2 را در اندروید تست کنیم؟
شایان ذکر است که این بخش جنبه پیکربندی را از نظر پروژه های اندرویدی پوشش می دهد. من به جزئیات KMP اشاره نمیکنم، اگرچه اگر کسی قبلاً در پروژههای چند پلتفرمی با استفاده از Kotlin تجربه داشته باشد، میتوان چندین مورد از جزئیات ذکر شده را به راحتی جذب کرد.
1. دایرکتوری ساخت جدید
Kotlin 2.0 یک فهرست خروجی ساخت جدید را معرفی می کند: .kotlin
. باید آن را به .gitignore
فایل به طوری که محتویات آن در commit ها ظاهر نشود:
#.gitignore
# Kotlin 2.0
.kotlin/
2. نسخه جدید کاتلین را اعمال کنید
حال به سراغ فایل gradle/libs.versions.toml می رویم، در این قسمت فرض بر این است که از کاتالوگ های نسخه برای کنترل وابستگی های اپلیکیشن موبایل (نسخه ها، پلاگین ها و غیره) استفاده می شود، اشاره به نسخه کاتلین. قرار دارد و به نسخه 2.0.0 تغییر یافته است. بنابراین:
# gradle/libs.versions.toml
[versions]
agp="8.4.1"
kotlin="2.0.0"
ksp="2.0.0-1.0.21"
با توجه به سازگاری، نسخههای کتابخانههای پردازشگر نماد Kotlin (KSP) و پلاگین gradle برای اندروید (AGP، مخفف برای مرجع استفاده میشود) نیز باید بهروزرسانی شوند. قطعه قبلی نسخه های مورد بررسی را نشان می دهد.
در سطح کتابخانه، کتابخانه های کاتلین زیر نیز به روز می شوند:
# gradle/libs.versions.toml
[libraries]
kotlin-gradle-plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0"
kotlin-serialization-plugin = "org.jetbrains.kotlin:kotlin-serialization:2.0.0"
توجه: کتابخانه هایی وجود دارند که در زمان نگارش این مقاله مشکلی از نظر تغییر نسخه نداشته اند، مانند
kotlin-coroutines
،kotlin-serialization
،kotlin-serialization-json
.
در سطح پلاگین، کتابخانههای Kotlin نیز با در نظر گرفتن مرجع نسخه قبلاً ذکر شده در زیر بهروزرسانی میشوند:
# gradle/libs.versions.toml
[plugins]
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
با انجام این کار، دستور را اجرا کنید gradle clean build
یا از Android Studio، پروژه را بسازید.
3. کامپایلر Compose را به روز کنید
یکی دیگر از جنبه های مهم در مورد پیکربندی پروژه های اندروید، به ویژه با استفاده از Jetpack Compose، مربوط به کامپایلر Compose برای Kotlin است که پیکربندی ای است که امکان تبدیل توابع مشروح شده به عنوان @Composable
به منظور اعمال بهینه سازی در کامپایل این توابع، اکنون نحوه تعریف نسخه کامپایلر compose تغییر بزرگی را ارائه کرده است که در ادامه توضیح داده شده است.
قبلاً، نسخه کامپایلر compose باید در فایل build.gradle ماژول پروژه gradle قرار می گرفت که دارای پیاده سازی های اندروید و همچنین شامل پیاده سازی های Jetpack Compose است.
/* build.gradle.kts */
…
composeOptions {
kotlinCompilerExtensionVersion="1.5.3"
}
…
و اگر از کاتالوگ های نسخه استفاده می کنید، نسخه به صورت زیر نشان داده می شود:
# gradle/libs.versions.toml
[versions]
compose-compiler = “1.5.3”
…
/* build.gradle.kts */
…
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
}
…
این ابتکار در آن زمان خوب بود، اما مشکلات تعمیر و نگهداری دارد، زیرا باید با نسخه فعلی Kotlin سازگار باشد. این با نسخه Compose متفاوت است و IDE پیشنهادی برای بهبود آن نداده است. هر بار که نسخه Kotlin خود را به روز می کنید، باید اسناد Jetpack Compose را برای نسخه سازگار کامپایلر Compose در گوگل جستجو کنید. Kotlin 2.0 این مشکل را حل می کند.
در حال حاضر، گنجاندن یک پلاگین جدید gradle به آن اعمال می شود gradle/libs.versions.toml
فایل، که وظیفه مدیریت نسخه سازماندهی شده کامپایلر compose و پیوند به نسخه Kotlin را بر عهده دارد.
# gradle/libs.versions.toml
[plugins]
…
kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
پس از این اقدام، build.gradle.kts
فایل ماژول Android که دارای قابلیت های Jetpack Compose است اصلاح شده و حذف می شود composeOptions configuration. kotlinCompilerExtensionVersion
و اضافه کردن مرجع به kotlin-compose-compiler
افزونه در plugins { .. }
بخش.
/* build.gradle.kts */
…
plugins {
…
alias(libs.plugins.compose.compiler)
}
…
با انجام این کار، را اجرا کنید gradle clean build
دستور یا از Android Studio، پروژه را بسازید یا همگام سازی کنید.
و بس! این افزونه نسخه کامپایلر Compose را بر اساس نسخه فعلی Kotlin پیکربندی می کند.
نتیجه گیری
به طور کلی، کامپایلر K2 یک گام مهم رو به جلو برای توسعه برنامه اندروید با Kotlin است. بهبود در سرعت، عملکرد و توسعهپذیری آن را به ابزاری ارزشمند برای توسعهدهندگان اندروید تبدیل کرده است.
اکنون که استفاده از Kotlin 2.0.0 در حال استاندارد شدن است، اکنون زمان خوبی برای به روز رسانی برنامه های اندرویدی ما است تا از فناوری های بیشتری پشتیبانی کنند که از نظر Kotlin، KMP، Jetpack Compose و سایر فناوری هایی که در حال پیشرفت و تکامل هستند، Google و توسعه دهندگان برنامه و کتابخانه های تلفن همراه در حال تطبیق با برنامه های مدرن تر تلفن همراه با ویژگی های بهتر هستند.
امیدوارم این مطلب برای شما آموزنده و مفید واقع شود و در برخی موارد بتوانید این مراحل را در برنامه های اندروید خود دنبال کنید تا مهاجرت خوبی به Kotlin 2.0.0 اعمال کنید.
با تشکر برای خواندن، کد نویسی مبارک! 😊