18 points par xguru 2025-08-08 | 2 commentaires | Partager sur WhatsApp
  • Un moteur de synchronisation de données local-first basé sur les CRDT, qui facilite le développement d’applications collaboratives et est optimisé pour la collaboration hors ligne et le contrôle de version
  • Le plus grand changement de la version 3.0 est une réduction de plus de 10x de l’utilisation mémoire, ce qui la rend applicable à une bien plus grande variété de scénarios
    • Automerge stocke tout l’historique des modifications afin de prendre en charge la détection des conflits et la restauration de l’historique
    • Auparavant, lors de l’édition d’un document, la compression était levée, ce qui faisait grimper l’utilisation mémoire de plusieurs centaines de Mo à plusieurs Go
    • En 3.0, le format compressé est aussi utilisé à l’exécution, ce qui réduit fondamentalement la charge mémoire
    • Exemple : lors d’un test de collage du texte volumineux de Moby Dick, la 2.0 utilisait 700MB, contre seulement 1.3MB pour la 3.0
    • La gestion simultanée de gros documents côté serveur devient aussi plus facile, permettant de construire des applications collaboratives à grande échelle
    • Lorsque l’historique des documents est important, la vitesse de chargement peut aussi être de plusieurs dizaines à plusieurs dizaines de milliers de fois plus rapide (17 heures → 9 secondes)
  • En outre, les API liées au traitement du texte ont été largement réorganisées pour renforcer la cohérence et la simplicité
    • Les chaînes collaboratives sont clairement distinguées en string, tandis que les chaînes non collaboratives deviennent ImmutableString
    • Les API redondantes précédentes comme Text/RawString ont été supprimées, et l’API de l’espace de noms next devient celle par défaut
  • Presque parfaitement compatible avec le code existant, avec le même format de fichier et la plupart des API conservées, ce qui permet une migration immédiate