فایربیس تعهد خود را به کاتلین افزایش میدهد و ما در تلاشیم تا اکوسیستم اندروید خود را مدرن کنیم تا کاتلین با فایربیس قابل دسترستر و استفاده از آن آسانتر شود.
برای انجام این نوسازی، ما در حال ایجاد چند تغییر در SDK های Firebase خود برای اندروید هستیم. این صفحه اطلاعات مهمی در مورد این تغییر را شرح میدهد، از جمله:
- چه چیزی تغییر میکند؟
- دلیل اینکه ما این تغییر را ایجاد میکنیم
- تاریخهای مهم برای این تغییر
- نحوه مهاجرت به استفاده از APIهای KTX از ماژول اصلی
یاد بگیرید چگونه برنامه خود را مهاجرت دهید
چه چیزی در حال تغییر است؟
رابطهای برنامهنویسی کاربردی (API) افزونههای کاتلین (KTX) به ماژولهای اصلی مربوطه اضافه شدهاند. برای مثال، تمام APIهای firebase-perf-ktx به firebase-perf تحت بسته com.google.firebase.perf اضافه شدهاند.
این تغییر به این معنی است که توسعهدهندگان کاتلین اکنون میتوانند به جای ماژولهای KTX به ماژولهای اصلی وابسته باشند (هنگام استفاده از Firebase BoM ۳۲.۵.۰+ یا نسخههای ماژول اصلی ذکر شده در BoM ۳۲.۵.۰+).
در ژوئیه ۲۰۲۵، انتشار نسخههای جدید ماژولهای KTX را متوقف کردیم و کتابخانههای KTX را از Firebase Android BoM (نسخه ۳۴.۰.۰) حذف کردیم.
چرا ما این تغییر را ایجاد میکنیم؟
فایربیس به یک اکوسیستم مبتنی بر کاتلین برای توسعهدهندگان اندروید متعهد است. این مدرنسازی بستهبندی مزایای زیر را ارائه میدهد:
مدیریت وابستگی سادهشده: اکنون فقط باید به یک ماژول وابسته باشید و نیاز به جابجایی بین ماژول اصلی و افزونههای کاتلین یا وابستگی به هر دو را از بین میبرد.
پشتیبانی بهبود یافته از کاتلین: اکنون تمام کیتهای توسعه نرمافزار (SDK) فایربیس ما برای اندروید، پشتیبانی بهتری از کاتلین ارائه میدهند. ما تمام ویژگیهای جدید سازگار با کاتلین را مستقیماً در ماژولهای اصلی خود قرار خواهیم داد.
تاریخهای مهم برای این تغییر
در اکتبر ۲۰۲۳
در اکتبر ۲۰۲۳، APIهای افزونههای کاتلین (KTX) به ماژولهای اصلی مربوطه اضافه شدند، به این معنی که اکنون میتوانید هنگام استفاده از Firebase BoM نسخه ۳۲.۵.۰+ یا نسخههای ماژول اصلی ذکر شده در BoM نسخه ۳۲.۵.۰+، مستقیماً از ماژولهای اصلی از APIهای KTX استفاده کنید.
به موازات آن، APIهای افزونه کاتلین (KTX) در ماژولهای KTX منسوخ شدند (به یادداشتهای انتشار که این تغییر را شرح میدهند مراجعه کنید). در طول مرحله منسوخ شدن ، APIهای منسوخ شده در ماژولهای KTX به عملکرد خود ادامه داده و نگهداری خواهند شد.
در ژوئیه ۲۰۲۵
در ژوئیه ۲۰۲۵، انتشار نسخههای جدید ماژولهای KTX را متوقف کردیم و ماژولهای KTX را از Firebase BoM (با شروع از BoM نسخه ۳۴.۰.۰ ) حذف کردیم.
هر نسخه منتشر شده قبلی از ماژول KTX یا BoM همچنان به کار خود ادامه خواهد داد، اما اکنون دیگر نیازی به تعمیر و نگهداری ندارند. این بدان معناست که ما رفع اشکال، تغییرات سازگار با نسخههای قبلی یا ویژگیهای جدید را به ماژولهای KTX اضافه نخواهیم کرد. در عوض، تمام توسعههای آینده برای Firebase در اندروید فقط در ماژولهای اصلی (برای جاوا و کاتلین) انجام خواهد شد.
نحوه مهاجرت به استفاده از APIهای KTX از ماژولهای اصلی
اگر از APIهای افزونههای کاتلین (KTX) استفاده میکنید، بهروزرسانیهای زیر را در برنامه خود انجام دهید تا به جای ماژولهای KTX، از APIهای ماژولهای اصلی استفاده کنید.
وابستگیهای Gradle خود را اصلاح کنید تا به جای ماژول KTX، به ماژول اصلی متکی باشند. برای مثال، اگر از Firebase Android BoM (توصیه میشود) استفاده میکنید:
قبل از
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:34.6.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.5.0 or higher implementation(platform("com.google.firebase:firebase-bom:34.6.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:23.2.1") implementation("com.google.firebase:firebase-firestore-ktx:25.1.4") }
بعد از
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.5.0 or higher implementation("com.google.firebase:firebase-auth:24.0.1") implementation("com.google.firebase:firebase-firestore:26.0.2") }
کد خود را بهروزرسانی کنید تا تمام موارد مربوط به 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