1 points par GN⁺ 2023-10-27 | 1 commentaires | Partager sur WhatsApp
  • Article sur la longévité et la flexibilité des web components, comparées aux frameworks JavaScript
  • Selon l’auteur, les choix techniques d’un projet doivent être dictés par ses contraintes plutôt que par l’option par défaut
  • Les raisons pour lesquelles l’auteur a choisi des web components en JavaScript vanilla pour son projet : la portabilité et la capacité de rendu HTML
  • Le blog de l’auteur a été construit avec divers outils, dont Astro, Hugo, un CMS personnalisé écrit en PHP, Tumblr, Movable Type et WordPress
  • Mise en avant des avantages de conserver le contenu dans des fichiers texte simples écrits en Markdown, ce qui simplifie le déplacement du contenu entre systèmes
  • Selon l’auteur, certaines fonctionnalités spécifiques à Astro sont pratiques, mais n’ont pas été utilisées dans le projet car elles ne sont pas portables
  • Les web components peuvent être écrits en HTML dans le Markdown, ce qui les rend aussi portables que le reste du contenu Markdown
  • Les web components sont un ensemble de standards du W3C pour construire des éléments HTML réutilisables, encapsulant tout le HTML, le CSS et le JS dans un seul fichier, sans système de build nécessaire
  • L’auteur souligne que les web components peuvent exposer des attributs configurables depuis l’extérieur, à la manière de props natives
  • Par crainte des compromis liés à la maintenance et aux dépendances, l’auteur a choisi d’utiliser du JS vanilla plutôt que des frameworks compilant vers des web components, comme Lit, Stencil ou Svelte
  • Selon l’auteur, des dépendances comme TypeScript peuvent offrir des fonctionnalités utiles, mais exigent du temps et des efforts pour rester compatibles avec les nouvelles versions et les API
  • Mise en avant de l’importance d’éviter les dépendances que l’utilisateur ne contrôle pas et de s’en tenir à des standards éprouvés pour garantir l’accessibilité à long terme et la résilience du contenu web
  • Conclusion de l’auteur : lorsqu’on l’aborde avec la longévité en tête, le Web est la plateforme informatique la plus résiliente, portable et préparée pour l’avenir

1 commentaires

 
GN⁺ 2023-10-27
Réactions sur Hacker News
  • Un article sur la pérennité des Web Components, comparés aux frameworks JavaScript
  • Les commentateurs soulignent que la bibliothèque htmx n’était pas mentionnée dans l’article et qu’elle se distingue des Web Components par son focus sur la synchronisation entre le serveur et l’état
  • htmx est salué, contrairement à beaucoup de bibliothèques JavaScript, pour son absence de dépendances et son accent sur la rétrocompatibilité
  • La gestion d’état des Web Components est pointée comme un problème non résolu, que les développeurs doivent gérer eux-mêmes sans framework wrapper
  • Les performances des Web Components ne sont pas jugées aussi importantes que prévu, et certains petits éléments ont été retirés des Web Components à cause du coût d’instanciation
  • Les Web Components sont appréciés parce qu’ils peuvent être ajoutés facilement à une nouvelle page quel que soit le framework utilisé, ainsi que pour l’encapsulation des styles
  • Certains commentateurs expriment leur préférence pour les avancées et améliorations des frameworks JS plutôt que pour des solutions statiques comme les Web Components
  • L’importance de prendre en compte les connaissances et compétences de l’équipe au moment de démarrer un nouveau projet est mise en avant
  • Des solutions côté serveur comme Rails Hotwire, Phoenix Liveviews et Laravel Livewire sont mentionnées comme des évolutions intéressantes
  • Les Web Components sont critiqués parce qu’ils ne peuvent pas s’exécuter sur le serveur et nécessitent du JS côté client pour être rendus
  • L’usage des slots dans les Web Components est jugé déroutant et complexe, ce qui les rend moins attractifs pour construire des applications
  • La DOM API est critiquée comme n’étant pas adaptée pour assembler des composants et faire fonctionner une application
  • Les Web Components sont critiqués pour le manque de support des éditeurs pour des fonctionnalités comme l’autocomplétion des attributs et des noms d’événements
  • Certaines fonctionnalités de base dans les Web Components, comme par exemple les boutons dans les formulaires, restent encore des problèmes non résolus