Astro rend le JavaScript optionnel. C’est libérateur, mais cela déplace la question : à partir de quand un composant justifie-t-il d’être hydraté ?
Trois questions avant d’hydrater
- L’état survit-il à un rechargement ? Si oui, il appartient probablement à l’URL ou au serveur, pas à un composant client.
- L’interaction est-elle nécessaire au premier écran ? Un menu déroulant
dans le pied de page peut attendre
client:visible. - Le CSS seul suffirait-il ? Les accordéons, les onglets et les carrousels simples se font très bien sans JavaScript.
Le coût réel
Un îlot n’embarque pas seulement votre composant : il embarque son framework. Sur une page qui n’en aurait autrement eu aucun, le premier îlot est de loin le plus cher. Les suivants sont presque gratuits.
D’où une règle simple : si une page n’a besoin que d’un seul comportement interactif, écrivez-le en JavaScript natif. Dès qu’il y en a trois ou quatre, sortez le framework.
En pratique
Ce site n’utilise aucun framework client. Le menu, le carrousel et les révélations au scroll tiennent en une soixantaine de lignes réparties dans les composants concernés. Le jour où une vraie interface d’application apparaîtra, un îlot Vue sera ajouté à cet endroit précis — et nulle part ailleurs.


