Firebase تعهد خود را به Kotlin افزایش میدهد و ما در تلاش هستیم تا اکوسیستم Android خود را مدرنسازی کنیم تا Kotlin را با Firebase در دسترستر و آسانتر کنیم.
برای انجام این مدرنسازی، چند تغییر در Firebase SDK خود برای Android ایجاد میکنیم. این صفحه اطلاعات مهمی را در مورد این تغییر شرح می دهد، از جمله:
- چه چیزی در حال تغییر است
- دلیلی که ما این تغییر را ایجاد می کنیم
- تاریخ های مهم برای این تغییر
- نحوه مهاجرت برای استفاده از API های KTX از ماژول اصلی
چه چیزی در حال تغییر است؟
APIهای افزونه های Kotlin (KTX) به ماژول های اصلی مربوطه اضافه شده اند. برای مثال، همه APIهای firebase-perf-ktx
به firebase-perf
در بسته com.google.firebase.perf
اضافه شدهاند.
این تغییر به این معنی است که توسعه دهندگان Kotlin اکنون می توانند به جای ماژول های KTX به ماژول های اصلی وابسته باشند (هنگامی که از Firebase BoM v32.4.0+ یا نسخه های ماژول اصلی فهرست شده در BoM v32.4.0+ استفاده می کنند).
به عنوان بخشی از این تغییر، APIهای برنامه افزودنی Kotlin (KTX) در هر ماژول KTX اکنون منسوخ شده اند. از آوریل 2024، ما دیگر ماژولهای KTX را منتشر نمیکنیم، و همچنین کتابخانههای KTX را از Firebase Android BoM در آن زمان حذف خواهیم کرد.
چرا این تغییر را ایجاد می کنیم؟
Firebase متعهد به اولین اکوسیستم Kotlin برای توسعه دهندگان اندروید است. این نوسازی بسته بندی مزایای زیر را ارائه می دهد:
مدیریت وابستگی ساده: اکنون فقط باید به یک ماژول تکیه کنید و نیازی به جابجایی بین ماژول اصلی و پسوندهای Kotlin یا وابستگی به هر دو را از بین ببرید.
پشتیبانی پیشرفته Kotlin: همه Firebase SDK های ما برای Android اکنون پشتیبانی بهتری از Kotlin ارائه می دهند. ما تمام ویژگی های جدید سازگار با Kotlin را مستقیماً در ماژول های اصلی خود قرار خواهیم داد.
تاریخ های مهم برای این تغییر
با نقاط عطف این تغییر آشنا شوید.
در اکتبر 2023
APIهای افزونه های Kotlin (KTX) به ماژول های اصلی مربوطه اضافه شدند و API های پسوند Kotlin (KTX) در هر ماژول KTX منسوخ شدند. یادداشتهای انتشار را که این تغییر را اعلام میکنند، ببینید.
اکنون می توانید هنگام استفاده از Firebase BoM v32.4.0+ یا نسخه های ماژول اصلی فهرست شده در BoM v32.4.0+، از API های KTX مستقیماً از ماژول های اصلی استفاده کنید.
در طول این مرحله منسوخ ، APIهای منسوخ در ماژول های KTX به کار خود ادامه می دهند و حفظ می شوند.
در اوایل آوریل 2024
ما انتشار نسخههای جدید ماژولهای KTX را متوقف میکنیم و ماژولهای KTX را از Firebase BoM حذف میکنیم.
هر نسخهای که قبلاً از یک ماژول KTX یا BoM منتشر شده بود به کار خود ادامه میدهد، اما آنها وارد پایان تعمیر و نگهداری میشوند. این بدان معناست که ما اضافه کردن رفع اشکال، تغییرات سازگار با عقب و ویژگیهای جدید به ماژولهای KTX را متوقف خواهیم کرد. در عوض، تمام توسعههای آینده Firebase در اندروید در ماژولهای اصلی (هم برای جاوا و هم برای Kotlin) انجام میشود.
نحوه مهاجرت به استفاده از API های KTX از ماژول های اصلی
اگر در حال حاضر از APIهای افزونه های Kotlin (KTX) استفاده می کنید، به روز رسانی های زیر را در برنامه خود انجام دهید تا از ماژول های اصلی به جای ماژول های KTX، از API ها استفاده کنید.
وابستگی های Gradle خود را برای تکیه بر ماژول اصلی به جای ماژول KTX تجدید نظر کنید. به عنوان مثال، اگر از Firebase Android BoM استفاده می کنید (توصیه می شود) :
قبل از
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:32.4.0")) // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx") implementation("com.google.firebase:firebase-firestore-ktx") }
بعد از
dependencies { // ... // Import the Firebase BoM as usual // Make sure to use Firebase BoM v32.4.0 or higher implementation(platform("com.google.firebase:firebase-bom:32.4.0")) // No need to use the KTX libraries, everything is now in the main module implementation("com.google.firebase:firebase-auth") implementation("com.google.firebase:firebase-firestore") }
قبل از
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:22.2.0") implementation("com.google.firebase:firebase-firestore-ktx:24.9.0") }
بعد از
dependencies { // ... // No need to use the KTX libraries, everything is now in the main module // Make sure to use a version listed in Firebase BoM v32.4.0 or higher implementation("com.google.firebase:firebase-auth:22.2.0") implementation("com.google.firebase:firebase-firestore:24.9.0") }
کد خود را بهروزرسانی کنید تا همه رخدادهای APIهای KTX با APIهای جابجا شده در ماژول اصلی تحت بسته
com.google.firebase
جایگزین شوند.قبل از
import com.google.firebase.auth.ktx.auth import com.google.firebase.firestore.ktx.firestore import com.google.firebase.firestore.ktx.toObject import com.google.firebase.ktx.Firebase
بعد از
import com.google.firebase.auth.auth import com.google.firebase.firestore.firestore import com.google.firebase.firestore.toObject import com.google.firebase.Firebase