2 points par GN⁺ 2024-06-03 | 1 commentaires | Partager sur WhatsApp

HTML over the wire

Hotwire est une approche alternative pour créer des applications web modernes en envoyant du HTML au lieu de JSON, afin de minimiser l’usage de JavaScript. Cela permet un chargement initial plus rapide, le maintien du rendu des templates côté serveur, ainsi qu’une expérience de développement plus simple et plus productive.

Points clés

  • Chargement initial rapide : l’envoi de HTML accélère le chargement initial.
  • Rendu des templates côté serveur : les templates sont rendus sur le serveur, sans code JavaScript complexe côté client.
  • Expérience de développement productive : offre un environnement de développement plus simple et plus productif dans divers langages de programmation.
  • Framework de l’équipe 37signals : permet d’utiliser le framework conçu par l’équipe de 37signals, qui fait fonctionner HEY.

L’avis de GN⁺

  • Amélioration de la productivité des développeurs : en réduisant l’usage de JavaScript, les développeurs peuvent créer des applications web plus simplement.
  • Risque d’augmentation de la charge serveur : comme les templates sont rendus côté serveur, la charge sur le serveur peut augmenter.
  • Comparaison avec les SPA existantes : il faut prendre en compte les avantages et les inconvénients par rapport aux applications monopage (SPA) traditionnelles.
  • Prise en charge de plusieurs langages : utilisable avec divers langages de programmation, ce qui lui confère une grande flexibilité.
  • Points à examiner avant adoption : il convient de vérifier à l’avance la compatibilité avec le système existant et les questions de performance.

1 commentaires

 
GN⁺ 2024-06-03
Avis sur Hacker News
  • En tant qu’utilisateur de l’app web Hey, l’expérience n’est pas bonne sur une connexion lente. Cela peut venir de développeurs qui n’ont pas ajouté d’états de chargement ou d’erreur, ou bien de la complexité ou de bugs.
  • htmx fournit ses fonctionnalités dans un seul fichier JavaScript et s’utilise principalement avec un backend Go. C’est flexible et j’aimerais l’essayer.
  • J’étais négatif à propos de Hotwire/Livewire, mais je comprends désormais que cela dépend du contexte. Comme je n’écris pas d’apps hypermedia, je ne l’ai réalisé qu’après avoir relu htmx et le papier REST.
  • Si vous cherchez quelque chose de similaire en PHP/Laravel, je recommande Livewire. J’utilise React pour les projets complexes, mais le fait de pouvoir tout écrire en Blade/PHP est rafraîchissant.
  • C’est un moyen simple d’implémenter une PWA, et l’approche est plus centrée sur les développeurs que React/Vue/Svelte. La clé de la concurrence, c’est l’intégration avec les frameworks backend.
  • Partage un lien vers une discussion HN de 2020.
  • Se souvient d’une approche utilisée en 2005 ou 2006 qui consistait à intercepter les clics, ajouter des paramètres et renvoyer une portion de HTML déjà rendue.
  • Pour les apps web qui n’ont pas besoin d’un frontend très interactif, Turbo et Stimulus réduisent ce que les nouveaux développeurs doivent apprendre.
  • A implémenté il y a deux ans une idée encore plus minimaliste appelée Swap JS, et cela fonctionne bien sur quelques projets.
  • Récemment, un post en ligne sur la lenteur des modales de Hey a déclenché un débat sur Hotwire et Rails. DHH affirme que la vidéo d’origine limitait la vitesse, tandis que d’autres critiquent Hotwire pour sa trop forte dépendance au réseau.