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

Fondée sur les principes de l’économie du savoir en 1999, Savoir-faire Linux a développé une expertise unique dans les technologies de l’information, l’ingénierie des logiciels libres et à code ouvert, le développement du noyau Linux et les objets connectés. Depuis, l’entreprise a accompagné de nombreuses sociétés à répondre à l’évolution constante de leurs systèmes d’information.
En tant qu'entreprise de taille moyenne dotée d'équipes multidisciplinaires d'ingénieurs basées à Montréal, Québec, Lyon et Rennes, Savoir-faire Linux a offert un large panel de services, lors de ces 19 dernières années, à plus de 500 organismes, dont des institutions gouvernementales, des grandes agences internationales, des géants de l'industrie et des PME / PMI. Déployant les meilleurs outils libres et à code ouvert couplés à son expertise, Savoir-faire Linux vise à améliorer les systèmes informatiques de ses clients et à accélérer leurs processus d'innovation. Son ingénierie de qualité, ses performances fiables et son excellent service client lui a valu plusieurs reconnaissances dont ISO 9001, ISO 14001, Silver Member de la Linux Foundation, Platinum Partner de Liferay et Advanced Partner de Red Hat.

Laisser un commentaire

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