Synchronisez plusieurs objets Javascript avec Automerge
Vous souhaitez mettre votre solution en avant en haut de cet article ? Contactez-nous
Aujourd'hui le BlogDuWebdesign vous propose de découvrir Automerge, une ressource Javascript permettant de travailler de manière concurrente sur un même objet Javascript.
Automerge
Besoin de créer une "base de donnée" pour une application JS et de la garder synchronisée entre plusieurs utilisateurs ? Automerge est une ressource javascript permettant merger et de garder synchronisé des objets javascript, ce qui est parfait pour ce genre de taches !
Automerge est un outil exprimant bien la philosophie "KISS", dans le sens ou il ne sort pas de sa tache : sync des objets JS. Tout ce qui sera périphérique à cette tache (comme par exemple la partie réseau) est laissé à votre discrétion.
Le doc précise d'ailleurs que la partie "échange réseau" est compatible pigeon voyageur, mais je n'ai pas pu tester cette compatibilité (les miens étant en dérangement). Si un colombophile peut faire le test et me l'indiquer en commentaire (avec l'espèce et la version du pigeon utilisé), je l'ajouterais à l'article dans un souci évident de complétion.
Compatible avec Flux
Évidemment, son principe de fonctionnement à base d'objets Javascript immutables lui permet de se coupler très simplement avec la plupart des bibliothèques "flux" : Vuex, redux, react, … .
Attention tout de même en essayant de sync la state complète ! Automerge vous laisse détecter les changements et les appliquer vous-même, mais votre reducer n'aimerait pas du tout l'expérience s'il n'est pas construit avec cette idée en tête.
Pour aller plus loin
Pour creuser le sujet, je vous propose de faire un tour sur la page github de Automerge, très bien documentée.
Enfin, vous pouvez aussi rejoindre la page Slack du projet pour discuter avec la communauté.