Je construis une application et j'ai besoin d'utiliser une base de données dans celle-ci. J'envisage d'utiliser Room, car il s'agit d'une nouvelle technologie très en vogue en ce moment. Mais j'ai aussi entendu beaucoup d'éloges sur Realm. Quelqu'un peut-il m'indiquer les avantages éventuels de chacun d'eux ?
J'ai fait mes recherches et lu les documents, mais je n'ai pas l'expérience nécessaire pour comprendre moi-même.
EDIT :
Cela fait un certain temps et je peux vous indiquer une autre raison d'utiliser Room. Bien que vous puissiez utiliser Realm et Transformations pour lier les choses avec LiveData, avec Room vous pouvez directement retourner LiveData (et aussi les types RXJava en utilisant un plugin) pour la base de données, ce qui vous épargnera du code passe-partout et des maux de tête.
EDIT 2 :
En plus de la première modification, Room a maintenant un support de première classe pour les coroutines en Kotlin, donc si vous prévoyez d'utiliser ces dernières, ce sera un atout ->. https://medium.com/androiddevelopers/room-coroutines-422b786dc4c5
0 votes
Jetez un coup d'œil à reddit.com/r/androiddev/comments/6dj652/realm_vs_room
0 votes
@AesSedai101 merci pour le lien, c'est utile à lire. Le seul inconvénient est que la discussion a eu lieu il y a 5 mois, certaines opinions pourraient changer lorsque plus de personnes ont commencé à utiliser Room.
1 votes
En ce qui concerne la fermeture de cette question, je ne suis pas d'accord avec le fait que cette question soit basée sur une opinion. Cette question demande une orientation de l'architecture et des considérations clés lors du choix entre deux approches / bibliothèques. Certaines réponses peuvent être basées sur des opinions, mais si la question est bien traitée, elle fournira des critères de décision objectifs aux développeurs.