Le fil de l’actualité

Écrit par l’IATechno

La grande rébellion JavaScript : Pourquoi HTMX et Astro démantèlent le monopole de React

Après une décennie à envoyer des bundles JavaScript massifs au navigateur, la fatigue des frameworks se fait sentir. Voici pourquoi HTMX et Astro ramènent le web au HTML.

Rédigé par une IA. Cette analyse a été rédigée par une IA et publiée sans relecture ligne par ligne.

On a passé les dix dernières années à se convaincre que la meilleure façon d’afficher un simple bouton était d’envoyer 2 mégaoctets de JavaScript au client. React a bâti un empire absolu sur le Virtual DOM, changeant fondamentalement notre façon de concevoir l’état et l’interface utilisateur. Mais les failles de l’architecture Single Page Application (SPA) deviennent impossibles à ignorer, et une rébellion massive des développeurs est discrètement en cours.

Avant de lire : Nous avons déjà vu comment les architectures frontend surchargées détruisent vos scores Lighthouse et font fuir les utilisateurs. Cet article explore la rébellion architecturale qui se forme contre les applications monopages trop lourdes. Consultez Unlocking Website Performance pour comprendre les métriques de base.

Table des matières

La gueule de bois des SPA

Je pense franchement qu’on a gaslighté toute une génération de développeurs juniors en leur faisant croire qu’un useState était requis pour soumettre un formulaire de contact.

Le modèle SPA nous promettait une vitesse digne d’une application native et des transitions fluides. Au lieu de ça, il nous a donné des erreurs de hydration, des tableaux de dépendances useEffect interminables et une culture du loading spinner. Selon le HTTP Archive, le payload JavaScript médian pour les sites mobiles dépasse désormais les 500 Ko (compressé). Quand le navigateur décompresse et analyse tout ça, vous forcez un téléphone de milieu de gamme à exécuter des mégaoctets de logique complexe juste pour afficher un article de blogue statique. On construit essentiellement un réacteur nucléaire pour alimenter un grille-pain.

Les développeurs sont épuisés. On est tannés de configurer Webpack, de se battre avec des librairies de gestion d’état qui changent leur API tous les 18 mois, et d’attendre que npm install télécharge la moitié d’internet juste pour centrer un div.

HTMX : Le retour de l’Hypermedia

Entrez HTMX. Ce n’est pas un autre framework JavaScript ; c’est une extension du HTML lui-même.

Au lieu de faire une requête AJAX, de recevoir un payload JSON et d’écrire du JavaScript côté client pour mettre à jour le DOM, HTMX vous permet de faire ceci :

<button hx-post="/clicked" hx-swap="outerHTML">Cliquez-moi</button>

HTMX Architecture vs React

Le serveur reçoit la requête et renvoie du vrai HTML. Le navigateur se contente de le remplacer. C’est tout. Pas de Virtual DOM, pas de parsing JSON, pas de synchronisation d’état côté client.

Saviez-vous que REST avait été conçu à l’origine strictement pour l’hypermédia (comme le HTML), et non pour les API JSON ? La célèbre thèse de Roy Fielding exigeait littéralement que le serveur dicte l’état de l’application en envoyant de l’hypermédia. On a passé une décennie à construire des pipelines JSON-vers-DOM complexes alors qu’on aurait pu simplement envoyer de l’UI sur le réseau depuis le début.

Astro et l’architecture en îles

Alors que HTMX règle le problème des applications dynamiques, Astro résout le problème du contenu. Astro est un framework web qui n’envoie par défaut absolument aucun kilooctet de JavaScript au client.

Si vous avez besoin d’interactivité — disons, un carrousel d’images React ou une barre de recherche Svelte — Astro utilise une « architecture en îles » (Island Architecture).

Astro Islands Concept

La majeure partie de votre page est rendue sous forme de HTML statique ultra-rapide. Les composants interactifs sont des « îles » isolées de JavaScript qui ne se chargent que lorsqu’elles deviennent visibles à l’écran. Ça permet aux développeurs de continuer à utiliser leurs frameworks UI préférés sans payer la taxe de performance dévastatrice du démarrage d’une SPA complète.

Est-ce que React se meurt ?

Honnêtement, non. React ne meurt pas. Si vous construisez Figma, Spotify ou un tableau de bord hautement complexe et lourd en état, React reste le bon outil pour la job.

Le problème n’a jamais été React en soi ; le problème, c’était le monopole de React. On s’est mis à utiliser un framework d’application lourd et interactif pour construire des pages d’atterrissage statiques, des sites marketing et des blogues. C’était de la négligence architecturale à l’échelle mondiale.

Saviez-vous que lorsque React a été rendu open-source en 2013, les développeurs s’en sont violemment moqués ? L’idée de mélanger la logique et le balisage avec JSX était considérée comme une régression massive dans la séparation des préoccupations, juste avant que toute l’industrie ne développe un syndrome de Stockholm et n’en fasse le standard absolu.

Le balancier revient enfin de l’autre bord. HTMX et Astro prouvent qu’on n’a pas besoin d’un énorme runtime côté client pour construire des applications web rapides, modernes et hautement interactives. L’avenir du web ressemble étonnamment à son passé : simplement envoyer du bon vieux HTML propre sur le réseau.

Sources