Il y a un peu plus d'un an, j'ai été chargé de développer un nouveau site Web pour l'un des groupes de R&D de mon université. Leur ancien site Web était construit sur un modèle jQuery et généralement difficile à maintenir. Ayant construit des interfaces utilisateur pendant environ un an jusque-là, je pensais avoir ce qu'il fallait pour concevoir un meilleur site Web… J'avais tort !
Les projets sur lesquels j'avais travaillé auparavant utilisaient tous React.js, certains avec et d'autres sans Next.js. Comme on dit, « si vous n’avez qu’un marteau, tout ressemble à un clou ». J'ai donc choisi ces technologies pour créer un site Web statique simple.
Avec le recul, dès le départ, il était évident que cela ne pouvait pas bien se terminer. En fait, React.js est plutôt génial si vous souhaitez créer des interfaces utilisateur dynamiques et hautement interactives avec du contenu basé sur les données. Next.js est un excellent framework d'accompagnement qui offre un rendu, un routage côté serveur et permet d'optimiser les performances (entre autres choses). Cependant, le site Web que j’ai créé était statique, ce qui signifie qu’il ne bénéficierait pas de la plupart de ces fonctionnalités. Bien sûr, il pourrait être construit avec React.js et Next.js — et c'était le cas —, mais à quel prix ?
Les outils susmentionnés sont plutôt complexes. Pour créer des sites Web avec eux, vous devez connaître leurs tenants et aboutissants. Vous ne pouvez pas simplement écrire du balisage et des styles et en finir avec cela, car ceux-ci doivent être écrits dans le paradigme de composants et de hooks fonctionnels de React, en adhérant à une architecture basée sur les composants et en gérant le flux de données via des accessoires et des contextes… C'est tout pour dire vous écrirez plus de lignes de code.
Ce n’est pas un problème en soi, bien sûr. Les exigences de votre projet pourraient être impossibles à satisfaire avec uniquement du balisage et des styles, et vous pourriez perdre du temps à réinventer la roue en écrivant votre propre code JavaScript au lieu d'utiliser une solution standard. Mais si les exigences peuvent être satisfaites sans cette complexité supplémentaire, il est sage de le faire. Sinon, vous ferez une ingénierie excessive et vous vous retrouverez avec un projet beaucoup plus difficile (et coûteux) à maintenir qu'il ne devrait l'être.
C’est ainsi que nous avons bouclé la boucle avec le site Web. L'ancien a dû être remplacé car il était difficile à entretenir. Le nouveau se retrouve désormais dans la même situation, voire pire ?, grâce au génie d'un jeune ingénieur logiciel au répertoire limité. Je suppose que nous avons besoin d'un nouveau site Web maintenant ! J'ai l'intention de jeter la base de code actuelle et de la reconstruire avec le moins possible en dehors du HTML et du CSS. J'envisagerai peut-être un générateur de site Web statique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!