Junior
Quelle base de données utilisez-vous dans vos projets?
sobes.tech IA
Réponse de l'IA
Realm et Room.
Realm
- Multiplateforme (Android, iOS, React Native, Xamarin).
- Orienté objet, ne nécessite pas d'ORM.
- Fonctionnement rapide avec les données en temps réel.
- Support des flux réactifs.
- Synchronisation entre appareils.
Room
- Bibliothèque de persistance des données, surcouche au-dessus de SQLite.
- Partie des Android Architecture Components.
- Fournit une abstraction ORM pour une utilisation simple de SQLite.
- Compilation pour vérifier les requêtes SQL.
- Utilise LiveData ou Flow pour obtenir des données de manière réactive.
// Exemple d'utilisation de Room
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
@Dao
interface UserDao {
@Query("SELECT * FROM user")
fun getAll(): List<User>
@Insert
fun insertAll(vararg users: User)
}
Le choix entre eux dépend des exigences du projet : nécessité de synchronisation, performance, multiplateforme et familiarité de l'équipe avec les technologies.