Firebase renforce son engagement auprès de Kotlin et s'efforce de moderniser son écosystème Android afin de rendre Kotlin plus accessible et plus facile à utiliser avec Firebase.
Pour y parvenir, nous apportons quelques modifications à nos SDK Firebase pour Android. Cette page décrit des informations importantes sur ce changement, y compris les suivantes:
- Qu'est-ce qui change ?
- Raisons de ce changement
- Dates importantes pour ce changement
- Migrer vers l'utilisation des API KTX à partir du module principal
Découvrez comment migrer votre application.
Ce qui change
Les API des extensions Kotlin (KTX) ont été ajoutées à leurs modules principaux respectifs. Par exemple, toutes les API de firebase-perf-ktx
ont été ajoutées à firebase-perf
sous le package com.google.firebase.perf
.
Ce changement signifie que les développeurs Kotlin peuvent désormais dépendre des modules principaux au lieu des modules KTX (lorsque vous utilisez Firebase BoM v32.5.0 ou version ultérieure ou les versions de modules principaux listées dans BoM v32.5.0 ou version ultérieure).
En conséquence, les API des extensions Kotlin (KTX) de chaque module KTX sont désormais obsolètes. Dès septembre 2024, nous ne publierons plus de modules KTX. Nous supprimerons également les bibliothèques KTX de Firebase Android BoM à ce moment-là.
Pourquoi apportons-nous ce changement ?
Firebase s'engage à proposer un écosystème Kotlin-first pour les développeurs Android. Cette modernisation du packaging offre les avantages suivants:
Gestion simplifiée des dépendances:vous n'avez désormais plus besoin de dépendre que d'un seul module, ce qui vous évite d'avoir à basculer entre le module principal et les extensions Kotlin, ou de dépendre des deux.
Compatibilité améliorée avec Kotlin:tous nos SDK Firebase pour Android seront désormais mieux compatibles avec Kotlin. Nous inclurons toutes les nouvelles fonctionnalités compatibles avec Kotlin directement dans nos modules principaux.
Dates importantes pour ce changement
En octobre 2023
Les API Kotlin Extensions (KTX) ont été ajoutées à leurs modules principaux respectifs. Vous pouvez donc désormais utiliser les API KTX directement à partir des modules principaux lorsque vous utilisez Firebase BoM v32.5.0 ou version ultérieure ou les versions de modules principaux listées dans BoM v32.5.0 ou version ultérieure.
Parallèlement, les API d'extension Kotlin (KTX) dans les modules KTX ont été abandonnées (voir les notes de version décrivant cette modification). Au cours de la phase d'obsolescence, les API obsolètes des modules KTX continueront de fonctionner et seront gérées.
Dès septembre 2024
Nous allons cesser de publier de nouvelles versions des modules KTX et nous allons les supprimer de Firebase BoM.
Toute version précédente d'un module KTX ou de BoM continuera de fonctionner, mais elle sera mise hors service. Cela signifie que nous allons cesser d'ajouter des corrections de bugs, des modifications rétrocompatibles et de nouvelles fonctionnalités aux modules KTX. À la place, tous les futurs développements pour Firebase sur Android seront effectués dans les modules principaux (pour Java et Kotlin).
Migrer vers l'utilisation des API KTX à partir des modules principaux
Si vous utilisez des API Kotlin Extensions (KTX), apportez les modifications suivantes dans votre application pour commencer à utiliser les API à partir des modules principaux au lieu des modules KTX.
Modifiez vos dépendances Gradle pour qu'elles reposent sur le module principal plutôt que sur le module KTX. Par exemple, si vous utilisez Firebase Android BoM (recommandé):
AVANT
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") }
APRÈS
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") }
Si vous n'utilisez pas Firebase Android BoM
AVANT
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") }
APRÈS
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") }
Mettez à jour votre code pour remplacer toutes les occurrences des API KTX par les API relocalisées dans le module principal sous le package
com.google.firebase
.AVANT
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
APRÈS
import com.google.firebase.auth.auth import com.google.firebase.firestore.firestore import com.google.firebase.firestore.toObject import com.google.firebase.Firebase