2 points par GN⁺ 2024-12-04 | 1 commentaires | Partager sur WhatsApp
  • Premier jalon 1.0 atteint 6 ans après le premier commit
  • Origine et raison d’être de LiveView
    • LiveView a été lancé pour créer des applications rendues côté serveur sans JavaScript.
    • Il permet de résoudre simplement des problèmes complexes comme la validation de formulaires en temps réel, la mise à jour de la quantité dans un panier ou les mises à jour en streaming en temps réel.
    • Elixir et Phoenix sont particulièrement adaptés à cette approche.
  • Avantages d’une base en temps réel
    • En fournissant à tous les utilisateurs et à toutes les interfaces une base bidirectionnelle en temps réel, LiveView permet aux développeurs de se concentrer sur l’implémentation des fonctionnalités.
    • Avec Elixir, il devient possible de réaliser des fonctionnalités impossibles sur d’autres plateformes.
  • Implémentation initiale de LiveView
    • À l’image de React, il implémente une UI côté serveur qui se met à jour automatiquement lorsque l’état change.
    • Grâce à Phoenix Channels, il peut prendre en charge des millions de connexions.
  • Optimisation du modèle de programmation
    • Le moteur distinctif de LiveView n’exécute que les parties dynamiques des templates et n’envoie qu’un minimum de données.
    • La séparation entre parties statiques et dynamiques permet des mises à jour efficaces.
  • Latence de tout premier plan
    • LiveView offre des performances optimales grâce à de petites charges utiles et à des connexions persistantes avec état.
    • L’utilisation mémoire côté serveur reste faible tout en permettant de prendre en charge des centaines de milliers de connexions simultanées.
  • Composants réutilisables avec HEEx
    • Un système de composants déclaratifs a été introduit, avec validation HTML et vérification des attributs à la compilation.
    • Lors de l’appel de composants, des avertissements à la compilation signalent l’utilisation d’attributs incorrects.
  • Simplification de la syntaxe HEEx
    • Une syntaxe simplifiée a été introduite pour insérer directement des valeurs dans le corps des balises.
  • Uploads interactifs
    • Une abstraction unique pour l’upload de fichiers permet de prendre en charge les uploads directs vers le cloud comme vers le serveur.
    • Il devient facile de refléter la progression des uploads ou d’implémenter des opérations avancées sur les fichiers.
  • Streams et traitement asynchrone
    • Des primitives de stream ont été introduites pour traiter efficacement de grandes collections.
    • Des fonctionnalités permettent de gérer facilement les tâches asynchrones et d’en afficher les résultats.
  • LiveView entre dans le mainstream
    • LiveView et .NET Blazor ont démarré à peu près à la même période et ont favorisé l’adoption de ce modèle de programmation.
    • D’autres communautés de langages adoptent également ce modèle de différentes manières.
  • Plans pour la suite
    • Sont prévus l’intégration des hooks JavaScript, un renforcement de l’intégration des Web Components et la prise en charge des navigation guards.

1 commentaires

 
GN⁺ 2024-12-04
Commentaires sur Hacker News
  • Le créateur de Phoenix répond à des questions sur Elixir/Phoenix/LiveView et présente un nouvel installateur

    • Le nouvel installateur permet d’installer Elixir et les projets Phoenix avec une seule commande
    • Des commandes d’installation sont fournies pour macOS/Linux et Windows
    • Il s’agit d’une extension de l’installateur officiel d’Elixir
    • Un guide d’installation sans |sh est également proposé
  • LiveView est une fonctionnalité née pour dépasser les limites de Rails, et a d’abord commencé comme une fonction de « channel »

    • LiveView s’intégrait difficilement avec les vues statiques, mais avec le temps il est devenu possible de partager du code
    • Phoenix 1.7 a introduit une nouvelle mise en page et une nouvelle philosophie, ce qui est révolutionnaire pour le développement d’applications web
  • Une startup a été construite avec LiveView, mais a échoué

    • L’intégration avec React était fluide, et la connexion avec des bibliothèques complexes ne posait pas de problème
    • Il a fallu résoudre dans LiveView, depuis zéro, des problèmes qui avaient déjà été réglés côté React
  • Plusieurs applications de production ont été développées avec LiveView, et même si une connexion WebSocket est nécessaire, il présente de nombreux avantages

    • La génération de code améliore la productivité, et le rendu du frontend avec Elixir est efficace
    • L’ajout de fonctionnalités temps réel via WebSocket est facile
    • En conservant la logique métier dans les Contexts, il devient facile de fournir une API
  • LiveView a permis de retrouver l’enthousiasme pour le développement web, avec une productivité très élevée

    • Des cours pour apprendre LiveView sont proposés, avec l’espoir que davantage de personnes découvrent ce framework
  • Dans une application web typique, le coût de coordination entre développeurs frontend et backend est le plus élevé

    • LiveView ignore ce problème et permet un développement full-stack
    • Il devient possible de livrer plus de fonctionnalités avec moins de développeurs
  • LiveView est utilisé depuis 2019, et le développement avec cet outil a été agréable

    • LiveView a été présenté pour la première fois à l’ElixirConf EU
  • Un billet de blog a été rédigé au sujet de la sortie de LiveView 1.0

  • Souhait d’entendre des avis sur les compromis liés à l’adoption de LiveView par rapport aux technologies basées sur JS

    • Il faut discuter de la diversité des bibliothèques JS et des possibilités d’adoption des technologies d’IA
  • LiveView offre une expérience de développement très productive, mais il serait souhaitable qu’il résolve les problèmes rencontrés avec des connexions instables

    • Le support hors ligne est difficile, mais une meilleure prise en charge des connexions instables est nécessaire