La question revient sans cesse : « Angular ou React ? ». Mais
on compare souvent deux choses de nature différente. Ce chapitre clarifie ce point une fois pour
toutes.
1. L'image qui résume tout
Imaginez que vous construisiez une maison.
Une bibliothèque, c'est une caisse à outils. Vous prenez le marteau quand vous
en avez besoin. C'est vous qui décidez de l'ordre des opérations.
Un framework, c'est une maison préfabriquée. Les murs et les pièces sont déjà
là ; vous aménagez l'intérieur. C'est la structure qui décide, vous remplissez les
espaces prévus.
On résume cela par l'inversion de contrôle : avec une bibliothèque, votre code
appelle la bibliothèque. Avec un framework, c'est le framework qui appelle votre code.
2. Comparaison concrète
Bibliothèque
Framework
Qui mène
Vous
Le framework
Liberté
Grande
Encadrée
À apprendre
Peu au départ
Davantage au départ
En équipe
Chacun sa méthode
Une seule façon de faire
Exemple
React, jQuery
Angular, Vue (complet)
3. Où se situe Angular
Angular est un framework complet. Tout est fourni d'emblée :
la navigation entre les écrans (routing) ;
la gestion des formulaires ;
les appels au serveur (HttpClient) ;
les outils de test ;
une ligne de commande pour générer le code (Angular CLI).
React, à l'inverse, ne fournit que l'affichage. Pour la navigation il faut ajouter une bibliothèque,
pour les formulaires une autre, et ainsi de suite.
4. Alors, lequel choisir ?
Il n'y a pas de gagnant absolu ; cela dépend du contexte.
Situation
Plutôt
Pourquoi
Grande application, équipe nombreuse
Angular
Le cadre évite que chacun invente sa méthode
Petit projet, besoin de souplesse
React
Moins de contraintes au départ
Projet d'entreprise durable
Angular
Tout est intégré et maintenu ensemble
Un conseil : ne cherchez pas « le meilleur ». Apprenez-en un correctement ; les
concepts (composants, liaison de données, routage) se retrouvent partout, et vous passerez de l'un à
l'autre bien plus facilement que vous ne l'imaginez.
React est une bibliothèque d'affichage, à compléter
Le choix dépend de la taille du projet et de l'équipe
Exercices d'application
Exercice 1. Classer des outilsPour chacun de ces outils, dites s'il s'agit d'une bibliothèque ou d'un framework, et justifiez : jQuery, Angular, Bootstrap, Laravel, React.
Exercice 2. Expliquer simplementExpliquez l'inversion de contrôle à quelqu'un qui ne programme pas, avec votre propre image : sans reprendre celle de la maison.
Exercice 3. Argumenter un choixUne équipe de 8 personnes démarre une application de gestion scolaire prévue pour durer 5 ans. Recommandez Angular ou React, en trois arguments.
Faites-les dans un vrai projet : c'est en pratiquant que l'on retient.