Firebase sta aumentando il proprio impegno per Kotlin e ci stiamo adoperando per modernizzare il nostro ecosistema Android al fine di rendere Kotlin più accessibile e facile da usare con Firebase.
Per realizzare questa modernizzazione, stiamo apportando alcune modifiche ai nostri SDK Firebase per Android. Questa pagina descrive informazioni importanti su questa modifica, tra cui:
- Cosa cambia
- Il motivo di questa modifica
- Date importanti per questa modifica
- Come eseguire la migrazione all'utilizzo delle API KTX dal modulo principale
Scopri come eseguire la migrazione dell'app
Che cosa cambia?
Le API di estensioni Kotlin (KTX) sono state aggiunte ai rispettivi moduli principali. Ad esempio, tutte le API di firebase-perf-ktx
sono state aggiunte a
firebase-perf
nel pacchetto com.google.firebase.perf
.
Questa modifica significa che ora gli sviluppatori Kotlin possono fare affidamento sui moduli principali anziché sui moduli KTX (se utilizzano Firebase BoM v32.5.0 o versioni successive o le versioni dei moduli principali elencate in BoM v32.5.0 o versioni successive).
Nell'ambito di questa modifica, le API Kotlin Extensions (KTX) in ogni modulo KTX sono ora ritirate. A partire da settembre 2024, non pubblicheremo più moduli KTX e rimuoveremo anche le librerie KTX da Firebase Android BoM.
Perché introduciamo questa modifica?
Firebase si impegna a creare un ecosistema incentrato su Kotlin per gli sviluppatori Android. Questa modernizzazione del pacchettizzazione offre i seguenti vantaggi:
Gestione semplificata delle dipendenze: ora devi dipendere solo da un singolo modulo, eliminando la necessità di passare dal modulo principale alle estensioni Kotlin o di dipendere da entrambi.
Miglioramento del supporto di Kotlin: tutti i nostri SDK Firebase per Android ora supportano meglio Kotlin. Includeremo tutte le nuove funzionalità compatibili con Kotlin direttamente nei nostri moduli principali.
Date importanti per questa modifica
A ottobre 2023
Le API di estensioni Kotlin (KTX) sono state aggiunte ai rispettivi moduli principali, il che significa che ora puoi utilizzare le API KTX direttamente dai moduli principali quando utilizzi Firebase BoM v32.5.0 o versioni successive o le versioni dei moduli principali elencate in BoM v32.5.0 o versioni successive.
Parallelamente, le API di estensione Kotlin (KTX) nei moduli KTX sono state ritirate (consulta le note di rilascio che descrivono questa modifica). Durante la fase di ritiro, le API ritirate nei moduli KTX continueranno a funzionare e a essere mantenute.
Già a partire da settembre 2024
Stiamo per interrompere il rilascio di nuove versioni dei moduli KTX e rimuoverli da Firebase BoM.
Qualsiasi versione di un modulo KTX o del BoM rilasciata in precedenza continuerà a funzionare, ma entrerà in fine manutenzione. Ciò significa che non aggiungeremo più correzioni di bug, modifiche compatibili con le versioni precedenti e nuove funzionalità ai moduli KTX. Invece, tutto lo sviluppo futuro di Firebase su Android verrà eseguito nei moduli principali (sia per Java che per Kotlin).
Come eseguire la migrazione per utilizzare le API KTX dai moduli principali
Se utilizzi le API di estensioni Kotlin (KTX), apporta i seguenti aggiornamenti alla tua app per iniziare a utilizzare le API dei moduli principali anziché dei moduli KTX.
Rivedi le dipendenze Gradle in modo che si basino sul modulo principale anziché sul modulo KTX. Ad esempio, se utilizzi Firebase Android BoM (opzione consigliata):
PRIMA
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") }
DOPO
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") }
Se non utilizzi Firebase Android BoM
PRIMA
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") }
DOPO
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") }
Aggiorna il codice per sostituire tutte le occorrenze delle API KTX con le API spostate nel modulo principale del pacchetto
com.google.firebase
.PRIMA
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
DOPO
import com.google.firebase.auth.auth import com.google.firebase.firestore.firestore import com.google.firebase.firestore.toObject import com.google.firebase.Firebase