Firebase מגדילה את המחויבות שלה ל-Kotlin, ואנחנו עובדים על מודרניזציה של המערכת האקולוגית של אנדרואיד כדי להפוך את 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: כל ערכות ה-SDK של Firebase עבור Android יספקו כעת תמיכה טובה יותר עבור Kotlin. נכלול את כל התכונות החדשות הידידותיות ל-Kotlin ישירות במודולים הראשיים שלנו.
תאריכים חשובים לשינוי זה
למד על אבני הדרך לשינוי זה.
באוקטובר 2023
ממשקי API של תוספי Kotlin (KTX) נוספו למודולים הראשיים שלהם, וממשקי API של תוסף Kotlin (KTX) בכל מודול KTX הוצאו משימוש. ראה את הערות השחרור המכריזות על שינוי זה.
כעת תוכל להשתמש בממשקי ה-API של KTX ישירות מהמודולים הראשיים בעת שימוש ב-Firebase BoM v32.4.0+ או בגרסאות המודול הראשי המפורטות ב-BoM v32.4.0+.
במהלך השלב שהוצא משימוש זה, ממשקי ה-API שהוצאו משימוש במודולי KTX ימשיכו לתפקד ולהישמר.
כבר באפריל 2024
נפסיק לשחרר גרסאות חדשות של מודולי KTX, ונסיר את מודולי KTX מה-Firebase BoM.
כל גרסה שפורסמה בעבר של מודול KTX או ה-BoM ימשיכו לתפקד, אבל הם ייכנסו לסוף התחזוקה . המשמעות היא שנפסיק להוסיף תיקוני באגים, שינויים תואמים לאחור ותכונות חדשות למודולי KTX. במקום זאת, כל הפיתוח העתידי עבור Firebase באנדרואיד יתבצע במודולים הראשיים (גם לג'אווה וגם לקוטלין).
כיצד לעבור לשימוש בממשקי API של KTX מהמודולים הראשיים
אם אתה משתמש כעת בממשקי API של תוספים של Kotlin (KTX), בצע את העדכונים הבאים באפליקציה שלך כדי להתחיל להשתמש בממשקי ה-API מהמודולים הראשיים במקום ממודולי KTX.
שנה את התלות שלך ב-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