Expert en Angular et auteur pluraliste, John Papa a récemment accueilli deux événements en direct où il a partagé ses astuces pour réussir dans l’utilisation d’Angular. Voici 8 questions communément posées auxquelles John a répondu, notamment pour ceux qui auraient des difficultés à choisir entre Angular et React.

1) Qui gagne la "guerre" entre Angular, React et Vue?

Ce n’est pas une guerre; c’est un choix. Les frameworks Web Angular, React, Vue et Svelte résolvent tous des problèmes différents. Et une grande partie de ce choix se résume au style de développement. Angular fournit davantage un "chemin guidé", tandis que React propose plutôt de "choisir votre propre aventure". Angular est extrêmement opiniâtre, React l’est moins et Vue se trouve au milieu.

Par exemple, quand on passe d’un projet Angular à un autre, il existe des similitudes. Il est beaucoup plus facile pour les développeurs de passer de différents projets Angular sans trop de changements conceptuels. Avec React, les développeurs doivent réapprendre des choses à l’occasion; un projet peut avoir utilisé un routeur différent ou mis en œuvre quelque chose de complètement différent.

Devenez développeur Front-end ReactJS - GOMYCODE
Apprenez les technologies les plus récentes pour devenir développeur Front-end et lancez des applications Web et des interfaces utilisateur interactives et riches avec JavaScript, ES6 et React. Gérez les “states” avec Redux et manipuler les API externe.

2) Pourquoi a-t-on l'impression de voir plus d’applications React qu’Angular de nos jours?

Tout dépend de l’endroit où vous cherchez. Sur les réseaux sociaux, vous entendrez beaucoup de points de vue arrêtés sur tel ou tel framework, et vous verrez des gens vouloir utiliser les choses les plus récentes et les plus cool. Ce n’est pas parce que React est plus récent qu’Angular qu’il est nécessairement plus utilisé, surtout en entreprise. Ce que nous voyons sur le web est très différent de ce qui existe dans le monde des grandes entreprises, où Angular est très utilisé.

3) Par rapport à React, Vue et Svelte, les fichiers Angular semblent énormes. Quelles sont les meilleures pratiques d’optimisation?

Si votre application doit se charger rapidement, vous devez réduire la quantité de contenu qui doit être analysée par le navigateur et améliorer les performances perçues.

Pour les applications plus petites, Angular va également être plus grand parce qu’il est livré avec ses nombreuses librairies. Pour les applications plus grandes, pour chaque composant supplémentaire que vous ajoutez dans Angular, les frais généraux supplémentaires que vous gagnez sont très faibles parce que vous finissez par réutiliser une grande partie des fonctionnalités du framework Angular.

4) Quelles sont les meilleures pratiques pour l'implémentation de variables d'environnement lors de déploiement d'une application Angular dans Kubernetes?

C'est une situation délicate. Idéalement, vous ne souhaitez pas "rebuilder" votre application Angular lorsque vous passez à travers des environnements différents. Ce que vous pouvez mettre dans des fichiers .env, vous devriez le faire, et pour le backend, c'est facile à faire. Pour Angular, certains développeurs utilisent environment.prod ou environment.dev, mais le problème est que vous devez reconstruire pour les obtenir.

Une astuce pour éviter la reconstruction consiste à avoir une URL que vous utilisez comme option de préchargement, comme un initialiseur d'application, qui fonctionne en vous fournissant des informations clés sur les environnements dont vous aurez besoin pour exécuter les choses avant le démarrage de l'application. Une autre méthode consiste à faire en sorte que votre serveur intègre certains indicateurs d'environnement lorsqu'il lance l'index HTML.

5) Recommandez-vous d'utiliser des formulaires dans Angular et préférez-vous des formulaires réactifs ou basés sur des modèles?

Lorsqu'il s'agit de choisir entre des formulaires réactifs ou des formulaires pilotés par des modèles, la principale question à laquelle il faut répondre est de savoir si vous voulez que le code de validation soit dans votre modèle ou dans les composants et le code lui-même. Ils fonctionnent tous les deux bien, c'est donc la principale différence.

L'équipe Angular recommande les formulaires réactifs, et bien que l'on préfère les formulaires basés sur des modèles car ils sont plus intuitifs, un seul conseil importe: peu importe le formulaire que vous choisissez, vous devez juste en choisir un. N'utilisez pas les deux dans votre application.

6) Recommandez-vous aux entreprises et aux développeurs d'utiliser des outils tels que Material Design for Angular?

Material Design est un modèle de conception et Angular Material est une implémentation de celui-ci pour qu'Angular puisse l'utiliser. Il s'agit essentiellement d'un système de conception que vous pouvez utiliser pour le style, les couleurs, les polices, l'espacement et l'interface utilisateur. Idéalement une entreprise, ne doit pas simplement prendre quelque chose comme Angular Material ou Bootstrap ou Tailwind et les utiliser comme seul système de conception. Vous devez plutôt utiliser ces outils comme base pour créer votre propre système de conception.

7) Quand est-ce qu’il faudrait utiliser Angular Universal, et vaut-il la peine de l'utiliser?

Si vous allez rendre public votre application, cela vous donne essentiellement des versions générées côté serveur de celle-ci, ce qui améliore la vitesse de lancement, améliorant ainsi que l'expérience des clients qui accèdent à votre site Web. C'est un outil que vous pouvez utiliser à partir de la CLI.

8) Quels outils de test recommandez-vous pour Angular?

Si vous utilisez Karma comme test runner, vous voudrez probablement utiliser Jasmine avec Angular. Jest, qui est un nouveau modèle de test vaut la peine que vous l'étudiez, si vous avez le temps de le comprendre.

Si vous n'avez pas le temps, utilisez Karma et Jasmine.

Retrouvez également sur Gomytech: