Conclusion
Conclusion
Nous voilà arrivés au terme d’un voyage exhaustif, qui nous a mené des concepts les plus élémentaires (syntaxe TypeScript, création de composants, stylisation), vers la construction d’applications robustes et maintenables en utilisant des concepts plus abstraits (design patterns, principes d’architecture du code, optimisations, Storybook et tests unitaires, etc.).
En partant des fondamentaux, l’indispensable brique pour un code plus sécurisé et évolutif qu’est TypeScript a été étudiée en amont. La maîtrise des types utilitaires, des interfaces, de la généricité, etc., n’est plus un luxe mais une nécessité pour les équipes de développement qui souhaitent écrire du code fiable et maintenable à long terme et pour des applications d’envergure.
Le cœur de l’apprentissage a ensuite résidé dans la compréhension du cycle de vie des composants, via les hooks, concept fondamental de toute application React. En explorant de manière dense l’écosystème des hooks de React, la gestion du cycle de vie des composants a été démystifiée. L’intégration de hooks personnalisés a marqué un tournant clé pour donner des bases sur lesquelles étudier les concepts d’architecture plus avancés des chapitres suivants.
Dans la mesure où le cœur de l’ouvrage est le développement en React, certains concepts n’ont pu, bien sûr, être étudiés à fond. Tel est le cas de la stylisation des composants. Il aurait été peu pertinent d’enseigner l’usage spécifique d’une bibliothèque de composants, car cela aurait rendu l’ouvrage dépendant d’une bibliothèque alors que d’autres bibliothèques peuvent fonctionner différemment. D’ailleurs, dans le chapitre dédié au CSS-in-JS, le choix d’utiliser styled-components n’avait pas pour but de démontrer les fonctionnalités complètes de la bibliothèque (à peine couvertes), mais bien de démontrer conceptuellement ce qu’était le CSS-in-JS. Il en va de même des autres bibliothèques externes utilisées dans cet ouvrage : Redux, Tanstack Query, React Hook Form, Storybook, React Testing Library, Next.js, i18next, toutes auraient pu être étudiées bien plus en profondeur, mais cela aurait nécessité d’augmenter considérablement la taille de cet ouvrage.
Enseigner l’utilisation de ces bibliothèques est également un encouragement à chercher plus en profondeur par soi-même : d’une part, toutes ces bibliothèques...