La plupart des applications actuelles stockent les données sur un serveur et considèrent votre ordinateur comme un simple écran d'affichage. Une coupure de connexion signifie l'impossibilité de travailler, et la fermeture d'un service entraîne la perte des données. L'approche « Local-first » inverse cet ordre.
Les conditions requises pour une application « local-first »
- Prêt à l'emploi dès l'ouverture, sans attendre la connexion Internet
- Les données sont stockées sur l'ordinateur de l'utilisateur, dans un format lisible par d'autres outils
- La synchronisation entre plusieurs appareils est facultative, et les conflits sont résolus automatiquement sans que l’utilisateur ait à choisir une version
- Même si le service est indisponible, l'application continue de fonctionner
Pourquoi n'est-ce possible que maintenant ?
Le plus grand obstacle a toujours été la synchronisation. Comment fusionner les modifications apportées à un même document par deux appareils lorsqu’ils sont hors ligne ? Les structures de données fusionnables — qui permettent de combiner les modifications dans n’importe quel ordre tout en obtenant le même résultat — permettent de résoudre ce problème sans avoir recours à un serveur d’arbitrage.
Le prix
La synchronisation au sein d'une application est bien plus complexe à mettre en œuvre que l'appel d'une API. La recherche en texte intégral sur un volume important de données côté client est également plus lente que sur un serveur dédié. Et le modèle économique par abonnement est plus difficile à justifier lorsque le logiciel fonctionne sans avoir besoin de ce service.
Pour l'utilisateur, le test est simple : déconnectez-vous d'Internet, puis ouvrez l'application. Ce qui fonctionne encore, c'est ce que vous possédez réellement.
Thảo luận