25 points par xguru 2025-01-20 | 3 commentaires | Partager sur WhatsApp
  • Créer une application complète uniquement avec du code côté client
    • Aucun besoin de déployer une base de données, de concevoir un schéma SQL, de définir des relations ou d’écrire des requêtes
    • Il suffit de connaître TypeScript pour développer et déployer une app avec Jazz
  • Les données sont d’abord enregistrées en local, puis synchronisées vers le serveur
    • Fonctionne de manière fluide même avec une connexion Internet instable ou hors ligne, et les données se synchronisent automatiquement une fois la connexion rétablie
    • L’UI se met à jour immédiatement à partir des simples changements de données, sans appel d’API
    • Tous les appareils d’un même compte restent toujours synchronisés
    • Un simple partage de données permet de mettre en place un environnement multijoueur. Il est aussi facile d’implémenter une UI qui exprime la présence des utilisateurs (par ex. affichage du curseur)
  • Fonction de gestion des autorisations basée sur les rôles intégrée pour une collaboration sécurisée
    • Lors de la création des données, des autorisations basées sur les rôles sont définies par défaut
      • Types d’autorisations : lecture(reader), écriture(writer), administrateur(admin)
    • Gestion des autorisations via Account ou Group
  • Fonctionnalités nécessaires à l’application intégrées par défaut
    • Upload de fichiers
    • Chargement progressif des images
    • Server Workers
    • Authentification : Passkey (Touch ID, Face ID), Clerk, Auth0, Okta, NextAuth
    • Jazz Cloud : infrastructure de synchronisation en temps réel et de stockage pour faire évoluer les apps Jazz jusqu’à des millions d’utilisateurs
  • Stacks compatibles : Vanilla JS, React, React Native, Vue, Svelte, Node.js
    • Support prévu prochainement pour Swift, Rust, Kotlin
  • Fonctionnalités supplémentaires à venir
    • Curseurs et carets : UI pour représenter les utilisateurs en collaboration
      • Curseurs de canvas 2D
      • Carets de texte
      • Indication de focus basée sur les éléments
      • Aides pour l’état et la position en cas de dépassement du défilement
    • Synchronisation bidirectionnelle avec la base de données
      • Possibilité d’ajouter Jazz à des apps existantes
      • Support de Prisma, Drizzle, PostgreSQL, etc.
    • Prise en charge de la vidéo et de l’audio
      • Connexion automatique entre les membres d’un groupe via WebRTC
      • Fonctionnalités de streaming et d’enregistrement audio/vidéo
    • CoPlainText et CoRichText
      • Prise en charge du texte brut collaboratif et du texte enrichi
      • Prévention de la plupart des conflits d’édition
      • Rendu possible dans divers formats comme Markdown, HTML, JSX, etc.

3 commentaires

 
wkang586 2025-01-28

On dirait une version allégée de SuperSync.
La version payante n’a même pas encore été lancée, donc le vrai sujet sera probablement la fiabilité.
Pour l’instant, le côté léger semble intéressant,
mais la promo qui dit qu’il n’y a pas besoin de se soucier d’une base de données locale me laisse un peu sceptique.
Du Lo-Fi sans SQLite ni IndexedDB ?? Mouais...

 
felizgeek 2025-01-21

Il y a bien un support de Vanilla JS, mais il n’y a pas de documentation. Je me demande s’il faut convertir React, Svelte, etc. pour l’utiliser.
C’est un framework qui implémente des fonctionnalités complexes (chat en temps réel, streaming), donc sa complexité sera à la hauteur. Il sera difficile à personnaliser et à modifier.
Le design Local-First me plaît.

 
savvykang 2025-01-20

Local-Fist -> Local-First