Revue de presse Inno #2

Mobilité

FireStore : la nouvelle base de données en temps réel de Google

En tant que développeur mobile, nous rencontrons une problématique récurrente : la gestion de la synchronisation des données avec un back-end et la prise en compte d’un mode déconnecté.

Google apporte une nouvelle réponse à cette question : FireStore. Ce service, encore en version bêta, fait partie de la suite FireBase. Il est présenté comme la nouvelle solution de stockage en temps réel de Google. Ce stockage est orienté document (NoSQL), cela signifie que l’on y stocke des collections de données organisées en couple clé/valeur, à la manière de JSON. Cette solution gère ainsi de façon transparente la synchronisation des données entre plusieurs appareils, mais également la perte de connexion. En cas de coupure réseau, les données sont alors toujours accessibles localement et les mises à jour sont répercutées de façon transparente à la reprise de connexion. Ci-dessous deux tutoriaux Youtube de Brian Advent vous montrent la facilité d’intégration de ce service dans une application de messagerie. Les deux tutoriaux d’intégration du SDK FireStore sous iOS de Brian Advent sont disponibles aux adresses :

Vous pouvez aussi accéder à la documentation officielle de FireStore.

RxSwift 4, supportant Swift 4, se précise en version RC.

Les développeurs, comme à chaque montée de version de Swift, travaillent d’arrache-pied pour mettre à jour leurs librairies et ainsi supporter la nouvelle version du langage. C’est bien entendu le cas pour les développeurs derrière RxSwift, qui ont déployé ce 8 octobre la version candidate de RxSwift 4. Cette version est disponible via les différents outils de gestion de dépendances et Github. Les auteurs d’RxSwift encouragent la contribution et vous présente les règles à suivre.

Découverte de l’architecture Model View Intent

J’avais un gros à priori sur l’architecture MVI, à cause de son nom. Pour moi, un Intent = new Intent(). Du coup, j’ai tout de suite pensé tomber dans un pattern d’architecture se basant sur les Intent Android, j’imaginais déjà le code spaghetti remplaçant RX par des IntentReceiver/Broadcaster. Un gros retour arrière donc. Mais suite à la Droidcon NYC, mes petits camarades ont assisté à une présentation MVI et ont eu l’air convaincu.
J’ai donc retroussé mes manches et mis les mains dedans. J’ai d’abord trouvé cet article par Hannes Dorfmann qui explique de façon très didactique les avantages du MVI. Tout d’abord, le MVI adresse une problématique non abordée dans les autres patterns comme le MVVM ou le MVP : le State ou l’état de l’application. 
En implémentant un Reducer, on peut être capable de gérer les changements d’état de l’application de façon déterministe.  
Hannes Dorfmann propose son implémentation du MVI, mais, elle est écrite en java et utilise l’héritage. La prochaine étape serait de proposer une implémentation, en Kotlin par composition/protocol.

Publié par

Savoir-faire Linux

Savoir-faire Linux est le chef de file de l’informatique à code ouvert sous licence libre au Québec et au Canada. Moteur d’une économie nouvelle fondée sur le savoir, Savoir-faire Linux développe depuis 1999 une expertise exceptionnelle qu’elle met au service des entreprises et des organisations publiques afin de répondre aux défis d’évolution de leurs systèmes d’information.
Forte d’une équipe multidisciplinaire de plus de 145 experts de 24 nationalités différentes dans 5 villes et sur 2 continents, Savoir-faire Linux fournit des services à plus de 500 organisations à travers le monde.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *