אנחנו ב-Firebase ממשיכים להרחיב את המחויבות שלנו ל-Kotlin, ואנחנו פועלים כדי לחדש את הסביבה העסקית של Android כדי להפוך את Kotlin לנגישה יותר ולקל יותר להשתמש בה עם Firebase.
כדי להשיג את המודרניזציה הזו, אנחנו מבצעים כמה שינויים ב-SDK של Firebase ל-Android. בדף הזה מפורט מידע חשוב לגבי השינוי הזה, כולל:
- מה עומד להשתנות
- הסיבה לביצוע השינוי
- תאריכים חשובים לגבי השינוי הזה
- איך עוברים להשתמש בממשקי API של KTX מהמודול הראשי
מה משתנה?
ממשקי ה-API של התוספים ל-Kotlin (KTX) נוספו למודולים הראשיים שלהם. לדוגמה, כל ממשקי ה-API מ-firebase-perf-ktx
נוספו ל-firebase-perf
בחבילה com.google.firebase.perf
.
משמעות השינוי הזה היא שמפתחי Kotlin יכולים עכשיו להסתמך על המודולים הראשיים במקום על המודולים של KTX (כשמשתמשים ב-Firebase BoM מגרסה 32.5.0 ואילך או בגרסת המודול הראשי שמופיעה ב-BoM מגרסה 32.5.0 ואילך).
כחלק מהשינוי הזה, ממשקי ה-API של התוספים ל-Kotlin (KTX) בכל מודול KTX הוצאו משימוש. כבר בספטמבר 2024 נפסיק לפרסם מודולים של KTX, ובאותו זמן נסיר את ספריות ה-KTX מ-Firebase Android BoM.
למה אנחנו מבצעים את השינוי הזה?
Firebase מחויבת לסביבה עסקית שמתמקדת ב-Kotlin למפתחי Android. היתרונות של חבילת ה-CDN החדשה:
ניהול פשוט יותר של יחסי התלות: עכשיו צריך להסתמך רק על מודול אחד, כך שאין צורך לעבור בין המודול הראשי לבין התוספים של Kotlin או להסתמך על שניהם.
תמיכה משופרת ב-Kotlin: כל ערכות ה-SDK של Firebase ל-Android תספקו עכשיו תמיכה משופרת ב-Kotlin. אנחנו נכלול את כל התכונות החדשות שתוכננו במיוחד ל-Kotlin ישירות במודולים הראשיים שלנו.
תאריכים חשובים לגבי השינוי הזה
באוקטובר 2023
ממשקי ה-API של התוספים ל-Kotlin (KTX) נוספו למודול הראשי המתאים, כלומר עכשיו אפשר להשתמש בממשקי ה-API של KTX ישירות מהמודולים הראשיים כשמשתמשים ב-Firebase BoM v32.5.0 ואילך או בגרסת המודול הראשי שמפורטת ב-BoM v32.5.0 ואילך.
במקביל, הוצאנו משימוש את ממשקי ה-API של Kotlin Extension (KTX) במודולים של KTX (בנתוני הגרסה מוסבר על השינוי הזה). במהלך השלב שבו ממשקי ה-API יוצאו משימוש, ממשקי ה-API שיוצאו משימוש במודולים של KTX ימשיכו לפעול ויתבצעו להם פעולות תחזוקה.
החל מספטמבר 2024
נפסיק להשיק גרסאות חדשות של המודולים של KTX, ונסיר את המודולים של KTX מ-Firebase BoM.
כל גרסה קודמת של מודול KTX או של BoM תמשיך לפעול, אבל הן ייכנסו לתקופת הסיום של התחזוקה. המשמעות היא שנפסיק להוסיף תיקוני באגים, שינויים שתואמים לאחור ותכונות חדשות למודול KTX. במקום זאת, כל הפיתוח העתידי של Firebase ל-Android יתבצע במודולים הראשיים (גם ב-Java וגם ב-Kotlin).
איך עוברים להשתמש בממשקי API של KTX מהמודולים הראשיים
אם אתם משתמשים בממשקי API של תוספים ל-Kotlin (KTX), עליכם לבצע את העדכונים הבאים באפליקציה כדי להתחיל להשתמש בממשקי ה-API מהמודולים הראשיים במקום מהמודולים של KTX.
בודקים את יחסי התלות ב-Gradle כדי להסתמך על המודול הראשי במקום על מודול KTX. לדוגמה, אם משתמשים ב-Firebase Android BoM (מומלץ):
לפני
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:33.10.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:33.10.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") }
אם לא משתמשים ב-Firebase Android BoM
לפני
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:23.2.0") implementation("com.google.firebase:firebase-firestore-ktx:25.1.2") }
אחרי
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:23.2.0") implementation("com.google.firebase:firebase-firestore:25.1.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