De NextJS à Astrobuild

De NextJS à Astrobuild

Nous étions de fervents utilisateurs de PHP et puis nous avons découvert NextJS, un framework JavaScript basé sur React et avons effectué quelques réalisations avec celui-ci. Nous en étions très satisfaits mais la refonte de celui-ci nous a quelque peu laissé un goût amer, c’est pourquoi nous sommes partis sur une alternative, à savoir Astrobuild

Pourquoi arrêter NextJS ?

Nous avons fait le choix de ne plus développer avec NextJS, principalement à cause du changement de router, qui est trop impactant. Beaucoup de choses sont à réapprendre et nous en trouvons pas ce changement simple.

Ce qui nous plaisait fortement dans NextJS, était la partie ISR. On définissait à NextJS une durée de vie de cache d’une page et celui-ci s’occupait de la garder en cache, la durée demandée. Cela nous évitait de déployer des techniques comme Varnish en frontend.

Il y avait également une certaine lassitude, en effet, le JSX n’est pas une syntaxe des plus simples et le code est pas mal verbeux.

Pourquoi Astrobuild ?

Il y a une notion qui nous a fortement séduite, c’est la notion d'”Island”. A savoir qu’il est possible d’utiliser différents framework pour composer une page. On peut notamment utiliser du React, du SolidJS, du Vue ou bien encore du Svelte.

De cette façon, nous pouvons réutiliser le code React que nous avons d’ores et déjà produit pour l’intégrer dans les projets, c’est comme cela, que l’on rentabilise l’investissement en temps.

Le framework est assez simple et permet de faire du CMS Headless, comme nous le faisons avec ce blog. Nous rédigeons le contenu et le site généré s’occupe d’aggréger plusieurs sources de contenus (Merci GraphQL au passage). Astrobuild permet également, un peu comme NextJS le permet de générer des pages statiques et donc par exemple de générer les 1000 premières pages les plus visitées et les autres, de laisser au serveur faire le travail de génération.

On y trouve également tout les outils nécessaires pour compresser une page, améliorer ses images, faire du “lazy-loading” sur les composants JavaScripts de la page et il y a également une partie serveurs où il est possible d’implémenter une API

En conclusion

Nous avons déjà deux réalisations sous Astrobuild, notre documentation et un autre site en cours de développement. Nous nous sentons efficaces sur le développement et cela nous permet d’avoir rapidement des résultats, tout en continuant à itérer sur les projets dans une optique d’amélioration continue. Nous pouvons également tester de nouvelles technologies comme SvelteJS qui n’utilise pas de virtual dom, cela fait des composants JavaScript beaucoup plus légers.

Concernant les projets existants développés en NextJS, nous continuons à les maintenir et à les améliorer mais nous songeons à les migrer vers Astrobuild ou bien une nouvelle technologie. L’idée est pour nous, de choisir le meilleur outil par rapport au besoin et non pas de forcer l’outil à répondre à nos besoins.

 

Spring Boot 3 : javax c’est fini
Alpine.JS : le digne remplaçant de jQuery ?
Value Object : le must-have du développeur
NodeJS : maintenez vos packages.json à jour