Quand tu demandes à un model, même claude, de choisir une techno (et je l'ai encore vérifié aujourd'hui), le choix est direct : react. Lorsque tu demandes à un dev, comme ça, dans une discussion, la techno pour faire une appli web ? React of course. Mais est-ce vraiment le bon choix ? Angular serait-il un game changer ou plutot un outsider ?
La mauvaise image d'angular
Angular, c'est comme dotnet. Ce framework traine avec lui un boulet.
Une image de vieux framework, de l'ancien temps, lourd, et difficilement maintenable.
Et cette image est réelle, enfin, pour l'angular d'avant.
Mais de quel avant parle-t-on ?
On parle de l'ère d'avant angular 14, soit il y a plus de 3 ans et demi.
Ce temps où les modules étaient partout.
Ce temps où tous les devs devaient utiliser rxjs sans trop vraiment savoir pourquoi.
Ce temps où angular js était toujours présent dans les esprits ....
Et ce angular js est encore trop ancré dans l'esprit des personnes qui ne recommandent pas angular !
React, c'est rapide à apprendre
A côté de ça, nous avons React.
React, créé par facebook. React qui du côté vue est reconnue pour être très réactif.
Le jsx, et le tsx maintenant sont aussi une de ses forces, incontestable.
L'apprentissage est facilité !
On peut faire du react et créer des projets avec react, très rapidement.
La courbe d'apprentissage est facilitée !
Ne pas comparer des choux et des carottes
Cependant, cette comparaison est biaisée depuis le début. Depuis l'apparition de React.
Et c'est sûr, on a vu un angular qui a cherché à réduire son empreinte de bundle. (angular était réputé pour générer des bundles js toujours plus gros).
Mais, et il y a un mais.
React ... est une librairie. Elle est focus sur la vue, et uniquement sur la vue.
"Mais, on peut faire une SPA entière avec React pourtant". Oui, en ajoutant react router, en ajoutant react hook form ou un TanStack.
Et de l'autre côté, on a un framework complet : angular.
Ce framework contient tout : composant, communication entre composants, routage, appel http, ...
Clairement incomparable !
Si on voulait comparer angular avec react, il faudrait comparer angular avec par exemple nextjs.
Là, on est sur deux sujets identiques côté fonctionnalités.
angular 2020+ a changé
Je ne suis pas là pour dire qu'angular est mieux que nextjs. Clairement non. Chaque framework a son approche. Ses avantages, ses inconvénients.
Cependant, un point à prendre en compte, c'est le grand changement qu'a opéré la team angular depuis 5 versions !
Angular ce n'est plus les modules : bonjour la standalone api. Tout est facilité !
Angular ce n'est plus obligatoirement rxjs : bonjour la signal api !
Angular c'est encore moins des probs de perfs à l'exécution : adieu nodejs, bonjour les signaux.
Faire le bon choix : angular ou react ?
Tu l'as compris : ce n'est pas le bon choix, car ce n'est pas bonne question.
Questionne ton model ia préféré : évite de partir comme tout le monde car tout le monde a testé react !
Les ESN, les grandes entreprises font de l'angular, et surtout en france d'ailleurs !
Angular ou next, next ou bien blazor, ou alors angular vs blazor ou nuxt. Là on est sur les bonnes variables d'entrée !
Et après tout vient de ton passé dans l'une des technos, dans ton approche du monde web, dans la stack et la maturité de ton équipe, dans la taille de ton projet, dans ...
Plein de questions à se poser avant de dev un projet web.
Et l'ia, ça elle ne le sait pas de base !