J'ai fait un test vite fait sur mon "blog" : une page index et une centaine de pages article.
Je voyais pas trop ce que je pouvais gagner car les pages se chargent très vite : <10ms.
J'ai juste ajouté à la main les deux balises script sur la page index. Comme ensuite les page article ne sont pas rechargé mais chargées par μJS, pas besoin de le déclarer sur toutes les pages.
Étonnement, je constate un plus grande fluidité. Cela vient du fait que le DOM n'est pas entièrement recréé mais simplement amendé par μJS. Et les navigateurs sont très très bons pour faire le rendu DOM.
En conséquence, cela fonctionne bien tant qu'on a pas de changement de styles. C'est la première page à charger μJS qui impose ces styles au reste du contenu.
La fluidité vient aussi du fait qu'il précharge le contenu au survol du lien, même si celui-ci n'est au final pas cliqué. Au clic, le contenu est déjà dans le cache, pas d'aller-retour réseau ; le swap de contenu est rapide.
Je confirme que l'URL est bien mise à jour dans la barre d'URL et bien inscrite dans l'historique. Que les boutons "back" and "forth" sont fonctionnels. Cependant, le titre n'est pas mis à jour et que sauter loin dans l'historique (click droit sur les boutons et choix d'une entrée) ne fonctionne pas.
D'autre part, cela ne m'est d'aucune utilité avec ma façon habituelle de naviguer qui est de garder la page index ouverte et d'utiliser le click bouton du milieu pour ouvrir un lien dans un nouvel onglet. Sur des sites (削除) bloated (削除ここまで) modernes, cela permet d'ouvrir plusieurs contenus sans repasser par le chargement de la page de départ et re-cliquer les 12 popups de bienvenu, pour aller au contenu suivant. Couplé à TreeStyleTab, cela crée un contexte de navigation beaucoup plus agréable.
D'autant que μJS vient avec un coût en RAM. Dans mon cas, sans μJS : 10MB, avec : 100MB ; YMMV.
Bref, tout comme pour HTMX, cela peut être intéressant pour ajouter un peu de réactivité sans basculer vers un framework JS.
# test sur site static
Posté par steph1978 . En réponse à la dépêche Sortie de μJS, une bibliothèque JavaScript légère pour dynamiser un site sans framework. Évalué à 7.
J'ai fait un test vite fait sur mon "blog" : une page index et une centaine de pages article.
Je voyais pas trop ce que je pouvais gagner car les pages se chargent très vite : <10ms.
J'ai juste ajouté à la main les deux balises
scriptsur la page index. Comme ensuite les page article ne sont pas rechargé mais chargées par μJS, pas besoin de le déclarer sur toutes les pages.Étonnement, je constate un plus grande fluidité. Cela vient du fait que le DOM n'est pas entièrement recréé mais simplement amendé par μJS. Et les navigateurs sont très très bons pour faire le rendu DOM.
En conséquence, cela fonctionne bien tant qu'on a pas de changement de styles. C'est la première page à charger μJS qui impose ces styles au reste du contenu.
La fluidité vient aussi du fait qu'il précharge le contenu au survol du lien, même si celui-ci n'est au final pas cliqué. Au clic, le contenu est déjà dans le cache, pas d'aller-retour réseau ; le swap de contenu est rapide.
Je confirme que l'URL est bien mise à jour dans la barre d'URL et bien inscrite dans l'historique. Que les boutons "back" and "forth" sont fonctionnels. Cependant, le titre n'est pas mis à jour et que sauter loin dans l'historique (click droit sur les boutons et choix d'une entrée) ne fonctionne pas.
D'autre part, cela ne m'est d'aucune utilité avec ma façon habituelle de naviguer qui est de garder la page index ouverte et d'utiliser le click bouton du milieu pour ouvrir un lien dans un nouvel onglet. Sur des sites
(削除) bloated (削除ここまで)modernes, cela permet d'ouvrir plusieurs contenus sans repasser par le chargement de la page de départ et re-cliquer les 12 popups de bienvenu, pour aller au contenu suivant. Couplé à TreeStyleTab, cela crée un contexte de navigation beaucoup plus agréable.D'autant que μJS vient avec un coût en RAM. Dans mon cas, sans μJS : 10MB, avec : 100MB ; YMMV.
Bref, tout comme pour HTMX, cela peut être intéressant pour ajouter un peu de réactivité sans basculer vers un framework JS.