Rétrospective : 10 ans d'Angular – ET un regard sur son avenir

MMaximilian Schwarzmüller
컴퓨터/소프트웨어자격증/평생교육AI/미래기술

Transcript

00:00:00Il y a exactement 10 ans aujourd'hui — c'est assez incroyable, je dois dire — c'était une journée
00:00:06très importante pour moi : je sortais la première version de mon cours Angular, mon cours Angular 2.
00:00:12Et tout comme Angular, ce cours a énormément évolué au cours de ces 10 dernières années.
00:00:17Je l'ai mis à jour d'innombrables fois car, évidemment, Angular a beaucoup changé.
00:00:23Dans cette vidéo, j'aimerais revenir sur le passé d'Angular, d'où nous
00:00:28venons, où nous en sommes aujourd'hui et, bien sûr, vers quoi nous nous dirigeons.
00:00:32Quel est l'avenir d'Angular et des développeurs, et est-ce toujours une bonne idée de l'apprendre,
00:00:37surtout avec l'IA ? Voyons ça ensemble. Alors, Angular, et plus précisément Angular 2,
00:00:44a été annoncé en 2014 et développé en 2015. À l'époque, c'était très controversé
00:00:53car c'était totalement différent d'Angular 1 (AngularJS), qui était lui-même l'un
00:00:59des premiers frameworks majeurs. Ils avaient été créés pour nous aider à
00:01:05nous passer de jQuery ou, pour le dire autrement, pour construire des applications web
00:01:13plus performantes et interactives. Angular 1 facilitait grandement la création d'applications
00:01:20rendues et contrôlées côté client. Puis Angular 2 est arrivé,
00:01:25et c'était une rupture totale. En 2016, la première version stable d'Angular —
00:01:33enfin, d'Angular 2 — est sortie. Et comme je l'ai dit, c'est en février 2016 que j'ai publié
00:01:40la première version de mon cours pour la bêta d'Angular 2. Il y a eu énormément de changements
00:01:45durant cette phase bêta et même pendant la phase de “release candidate”. J'ai dû mettre
00:01:51le cours à jour très souvent. Mais voilà, Angular 2 était né. Et l'Angular de l'époque,
00:01:58des modules Angular où il fallait utiliser le décorateur “ng module”
00:02:05of Angular modules where you had these classes and you had to add this ng module decorator
00:02:12et déclarer explicitement tous les composants utilisés. Il y avait les composants,
00:02:19les classes de composants et l'injection de dépendances basée sur le constructeur.
00:02:26Sur certains points, c'était assez proche de ce qu'on fait aujourd'hui, ça reste une classe.
00:02:32Mais globalement, l'approche différait. Les “ng modules” sont d'ailleurs un concept que
00:02:39vous ne connaissez peut-être même plus, selon le moment où vous avez commencé Angular
00:02:45ou la version utilisée dans votre entreprise. Car il existe encore beaucoup
00:02:51d'entreprises et de projets qui sont restés sur d'anciennes versions.
00:02:55En 2017, il y a eu cette fameuse version 3 manquante. Angular avait instauré ce rythme
00:03:04de sortie d'une nouvelle version majeure tous les six mois, rythme qui tient toujours.
00:03:11À l'époque, beaucoup de gens n'étaient pas ravis, car ils avaient l'impression
00:03:17qu'Angular allait tout casser tous les six mois. Je me souviens de nombreux commentaires
00:03:23dans mon cours de personnes se plaignant de ces changements constants, mais en réalité,
00:03:27le framework n'a jamais radicalement changé. Ce calendrier servait surtout à
00:03:33introduire de nouvelles fonctionnalités majeures tout en restant très rétrocompatible.
00:03:40Alors, pourquoi pas de version 3 en 2017 ? En fait, au début,
00:03:46il y avait des décalages de version entre les packages du cœur d'Angular et celui du routeur,
00:03:51car Angular est un framework divisé en de nombreux packages distincts.
00:03:57Ils ont donc sauté la version 3 pour réaligner tous les numéros de version.
00:04:03Le grand saut suivant a eu lieu en 2020 avec l'arrivée du compilateur Ivy.
00:04:12Entre 2018 et 2020, l'équipe Angular a travaillé d'arrache-pied sur ce nouveau compilateur,
00:04:19parallèlement à de nombreuses autres petites améliorations.
00:04:25L'idée était de réécrire le fonctionnement interne d'Angular et la façon dont les composants
00:04:31sont compilés en instructions pour manipuler le DOM. L'ancien compilateur
00:04:38présentait des inefficacités qui alourdissaient inutilement la taille des bundles.
00:04:44C'est pour cela qu'ils se sont lancés dans cet énorme chantier de réécriture. Pourquoi c'est important ?
00:04:52Parce que cette période peut être vue comme la “phase ennuyeuse”. De 2017
00:05:01à 2020, peu de choses ont changé en apparence. Il y avait des évolutions internes et des ajustements,
00:05:10mais la manière de construire des composants Angular est restée très stable.
00:05:16Et c'est crucial, car c'était aussi une période de forte concurrence sur le
00:05:22marché des frameworks JavaScript. Vue.js 2 est sorti en 2016,
00:05:27et l'écosystème React était en pleine effervescence. En 2018, React a introduit les hooks.
00:05:36On avait l'impression que tout l'univers JavaScript évoluait à toute vitesse — ce qui n'était
00:05:43pas du goût de tout le monde — alors qu'Angular semblait stagner.
00:05:50Mais ce n'était pas forcément une mauvaise chose. Beaucoup de gens appréciaient
00:05:57cette stabilité, lassés par les changements incessants dans l'écosystème JavaScript.
00:06:03Cela fait presque sourire aujourd'hui quand on voit l'évolution fulgurante dictée
00:06:08par l'IA et les changements quotidiens que nous vivons désormais.
00:06:13Mais à l'époque, c'était le principal reproche. C'était la phase de calme.
00:06:19Cette phase s'est terminée vers 2022 avec Angular 14
00:06:28et l'introduction des “standalone components” (en version préliminaire, il me semble).
00:06:33L'idée révolutionnaire était de pouvoir se passer des modules Angular.
00:06:42Il suffisait d'ajouter un flag “standalone” à votre composant pour pouvoir l'utiliser
00:06:47dans d'autres composants sans passer par un “ng-module”. Vous pouviez toujours les utiliser,
00:06:55voire mélanger les deux approches selon vos besoins.
00:07:00La rétrocompatibilité et la facilité de migration ont toujours été prioritaires pour l'équipe,
00:07:05mais les modules n'étaient plus obligatoires. Après les composants autonomes,
00:07:12tout s'est accéléré en 2023 avec Angular 16, les signaux et bien d'autres nouveautés.
00:07:20Comme une nouvelle façon de rendre le contenu conditionnel avec @if au lieu de la directive ng-if.
00:07:26C'est aussi là que les premières expérimentations sur l'Angular “zoneless” ont commencé.
00:07:34Au départ, Angular 2 utilisait un concept appelé ng-zone ou zone.js.
00:07:40C'était une bibliothèque qui surveillait tous les événements possibles sur une page,
00:07:46comme les clics ou les requêtes HTTP. Elle lançait ensuite la détection
00:07:54de changements pour voir si le DOM devait être mis à jour. L'avantage ?
00:08:00Les mises à jour du DOM semblaient magiques. Contrairement à React, pas besoin d'appeler
00:08:05de “set state” ou d'équivalent. Mais l'inconvénient était ce système de “monkey patching”
00:08:11où une bibliothèque injectait des écouteurs sur tous les événements, avec tout le surpoids
00:08:17et l'impact que cela avait sur la taille du bundle et les performances.
00:08:22C'était donc moins efficace que le mécanisme de React, par exemple.
00:08:28Le “zoneless” a donc été un immense pas en avant, rendu possible par les signaux.
00:08:35Grâce aux signaux, on dispose désormais d'un moyen explicite de dire à Angular qu'un état a changé.
00:08:40Le framework peut alors mémoriser exactement où cet état est utilisé dans le DOM
00:08:46et ne mettre à jour que cette partie précise. Cette réactivité ultra-fine
00:08:52a été introduite en 2023. C'est ce qu'on appelle souvent la “Renaissance d'Angular”.
00:09:01Après la phase de calme et les débuts un peu chaotiques marqués par les ruptures
00:09:08avec Angular 1, Angular a regagné le cœur de la communauté. L'équipe a pris
00:09:15des décisions fortes pour rendre Angular plus léger et plus simple à utiliser,
00:09:23en s'alignant sur ce qui se faisait de mieux ailleurs. Les signaux,
00:09:30par exemple, ont été popularisés par SolidJS, même si l'un des premiers
00:09:36frameworks majeurs à les utiliser était Vue (sous le nom de “refs”).
00:09:43Quoi qu'il en soit, c'est la direction prise par Angular.
00:09:50Pour 2026 et au-delà, les évolutions vont continuer, notamment avec les formulaires basés sur les signaux.
00:09:59L'équipe Angular embrasse aussi l'IA avec un serveur MCP intégré à la CLI
00:10:06pour faciliter le développement assisté par IA et rendre les modèles conscients des spécificités d'Angular.
00:10:13C'est l'histoire d'un framework qui est resté étonnamment stable et rétrocompatible
00:10:19tout au long de sa vie, même s'il s'est réinventé une ou plusieurs fois,
00:10:26selon votre point de vue. Cette stabilité est exemplaire.
00:10:33L'équipe Angular a fait un travail remarquable pour transformer l'image du framework :
00:10:39on est passé d'un outil perçu comme lourd et complexe à un framework moderne.
00:10:46Une chose n'a pas changé : Angular est un framework “tout compris” (“batteries included”).
00:10:54Vous y trouvez tout : gestion des formulaires, routage, requêtes HTTP,
00:10:59injection de dépendances, gestion d'état... Tout est intégré nativement.
00:11:06Pas besoin de bibliothèques tierces, contrairement à React où vous devez souvent
00:11:12ajouter un routeur externe, une bibliothèque de gestion d'état, etc.
00:11:18C'est un aspect très apprécié des entreprises. C'est pourquoi Angular a connu
00:11:23une croissance constante au cours des 10 dernières années. Mais pour être honnête,
00:11:29React a connu une croissance bien plus fulgurante. Si on superpose les courbes,
00:11:37celle d'Angular est à peine visible. Et depuis début 2025, React a littéralement décollé.
00:11:45On sait tous pourquoi : c'est l'effet IA. Comme je l'ai souvent dit,
00:11:54l'IA a un favori bien net, et c'est le combo React, Next.js et Tailwind, pas Angular.
00:12:00Est-ce que ça veut dire qu'Angular est mort ou qu'il ne faut plus l'apprendre ?
00:12:06Et quel est son avenir face à l'IA ? En réalité, Angular reste massivement
00:12:13utilisé par les grandes entreprises, justement pour cette stabilité et cette rétrocompatibilité
00:12:18qui ne sont pas que des mots, mais des faits prouvés sur le long terme.
00:12:27Son approche intégrée le rend très populaire dans le monde professionnel.
00:12:34Certes, React l'est aussi, mais les chiffres de téléchargement ne reflètent pas
00:12:40toujours fidèlement l'usage réel ou la popularité d'Angular dans les grands groupes.
00:12:46Pour vous donner une idée, mon cours compte 850 000 étudiants. Ce n'est pas
00:12:53très loin de mon cours React sur Udemy. Il y a certes plus de cours React
00:13:00très populaires sur la plateforme, mais mon expérience personnelle nuance
00:13:08les statistiques brutes. Je vois constamment des clients entreprises
00:13:15former massivement leurs équipes sur Angular. Ça reste donc, aujourd'hui encore,
00:13:22un excellent choix pour bâtir des applications web modernes. Et le framework est
00:13:29vraiment à la pointe grâce à sa “Renaissance” et aux fonctionnalités à venir.
00:13:36Le facteur X, c'est l'IA. Elle change notre façon de programmer et d'écrire du code.
00:13:43On écrit moins de code manuellement — c'est mon cas en tout cas. J'utilise des outils
00:13:48comme Claude, Code ou Cursor (sur lesquels j'ai d'ailleurs fait des cours,
00:13:57liés sous la vidéo). Notre façon de construire des programmes évolue.
00:14:04Pourtant, nos choix technologiques comptent toujours. On veut des technologies
00:14:09bien maintenues, sécurisées, avec des nouveautés qui améliorent la performance
00:14:14ou permettent de nouveaux usages sans dépendre de tiers. Sur ce plan,
00:14:21Angular reste un choix de premier ordre, tout comme React. Et avant qu'on ne me
00:14:27le dise en commentaire : oui, Vue et Svelte sont géniaux aussi.
00:14:34Mais cette vidéo porte sur Angular. Et oui, c'est toujours un excellent choix.
00:14:40L'IA sait très bien écrire de l'Angular, surtout si vous lui donnez le bon contexte,
00:14:45ce qui est indispensable quelle que soit la techno. Angular est donc bien paré
00:14:51pour ce futur dopé à l'IA. Si vous pensez que dans trois ans, plus personne n'écrira
00:14:57de code et que les technos n'auront plus d'importance, c'est une autre vision.
00:15:02Ce n'est pas la mienne. En utilisant l'IA quotidiennement pour générer la majeure
00:15:08partie de mon code, je constate que savoir la piloter, faire les bons choix technologiques
00:15:13et choisir les bonnes architectures logicielles est plus crucial que jamais.
00:15:19Et Angular y a toute sa place. Voilà pour ce court historique d'un framework
00:15:25qui aura toujours une place spéciale pour moi. C'était mon premier grand cours
00:15:30sur Udemy, et il a tout changé. Il m'a permis de vivre de la création de cours
00:15:35et a impacté la carrière de milliers de personnes. Tous vos messages et retours
00:15:41comptent énormément. Angular a toujours été incroyable, et il l'est tout particulièrement pour moi.
00:15:48than ever. And yeah, Angular is still a great choice there. So that was my short history
00:15:54on Angular, a framework that will always have a special place in my heart. Because as I mentioned,
00:16:00this was the first major course at least that I released on Udemy. And it has changed a lot
00:16:07for me. It allowed me to create courses for a living. It has changed the lives and careers
00:16:13of countless people. I got so many awesome messages and feedback. And therefore, yeah,
00:16:19Angular always was amazing. And it's especially amazing for me.

Key Takeaway

Malgré la domination médiatique de React et l'essor de l'IA, Angular connaît une véritable renaissance technique et reste un pilier incontournable pour les applications d'entreprise grâce à sa structure intégrée et sa stabilité exemplaire.

Highlights

La transition historique et controversée d'AngularJS vers Angular 2 en 2016.

L'importance cruciale du compilateur Ivy (2020) pour l'optimisation des performances internes.

La "Renaissance d'Angular" en 2023 avec l'introduction des signaux et du mode sans zone (zoneless).

La philosophie "batteries incluses" qui distingue Angular de bibliothèques comme React.

L'impact de l'IA sur le développement et l'intégration d'un serveur MCP dans la CLI d'Angular.

La pérennité du framework au sein des grandes entreprises grâce à sa stabilité et sa rétrocompatibilité.

Timeline

Introduction et genèse d'Angular 2

L'auteur célèbre le dixième anniversaire de son premier cours Angular et revient sur le lancement d'Angular 2. Cette période a été marquée par une controverse majeure car le framework représentait une rupture totale avec AngularJS (Angular 1). À l'époque, l'objectif était de dépasser jQuery pour offrir des applications web plus interactives et performantes. Le passage à la version bêta en 2016 a nécessité de nombreuses mises à jour car le système évoluait constamment. Cette section souligne l'importance historique de cette transition pour l'écosystème du développement web.

L'architecture initiale et la gestion des versions

Cette partie détaille les concepts techniques fondamentaux des débuts, notamment les "ng modules" et l'injection de dépendances. L'auteur explique l'anecdote de la version 3 manquante, sautée en 2017 pour réaligner les numéros de version des différents packages internes. Bien que le rythme d'une version majeure tous les six mois ait inquiété les développeurs au départ, la stabilité est restée la priorité. On y apprend que malgré les changements de numéros, le framework maintenait une forte rétrocompatibilité. Cette gestion rigoureuse a permis de rassurer les entreprises sur la longévité de leurs projets.

Le compilateur Ivy et la phase de stabilité

Entre 2018 et 2020, l'équipe s'est concentrée sur le projet Ivy, un nouveau compilateur visant à réduire la taille des bundles. Cette période est décrite comme la "phase ennuyeuse" car peu de fonctionnalités visibles étaient ajoutées pour l'utilisateur final. Pendant ce temps, React gagnait du terrain avec l'introduction des hooks, créant une impression de stagnation pour Angular. Cependant, cette phase de calme était nécessaire pour reconstruire les fondations internes sans casser les applications existantes. L'auteur souligne que cette stabilité est aujourd'hui perçue comme un atout face à la volatilité du monde JavaScript.

La Renaissance d'Angular : Signaux et Standalone

L'année 2022 marque un tournant avec Angular 14 et l'arrivée des composants autonomes (standalone), rendant les modules optionnels. L'innovation s'accélère en 2023 avec la version 16 qui introduit les "signaux" pour une réactivité ultra-fine. Ce changement permet d'envisager un avenir "zoneless", supprimant la dépendance lourde à zone.js pour la détection de changements. Le framework adopte des concepts modernes popularisés par SolidJS ou Vue, tout en restant fidèle à son identité. Cette évolution logicielle est officiellement qualifiée de "Renaissance d'Angular" par la communauté et les experts.

Angular face à React et l'influence de l'IA

L'auteur analyse la position actuelle d'Angular sur le marché, notant que React domine les statistiques de téléchargement, porté par l'écosystème IA (Next.js, Tailwind). Angular conserve toutefois une place prépondérante dans les grandes entreprises grâce à son approche "tout compris" (batteries included). Contrairement à React, Angular intègre nativement le routage, les formulaires et la gestion d'état, ce qui facilite la maintenance à long terme. L'auteur partage ses statistiques personnelles sur Udemy pour prouver que l'intérêt pour Angular reste massif. Il mentionne également l'intégration future de serveurs MCP pour optimiser le développement assisté par intelligence artificielle.

L'avenir du développement et conclusion

En conclusion, l'auteur affirme que le choix d'une technologie reste crucial même si l'IA génère désormais une grande partie du code. Savoir piloter ces outils et choisir des architectures solides comme celles d'Angular est une compétence qui prend de la valeur. Le framework est jugé prêt pour le futur grâce à sa modernisation récente et sa capacité à s'adapter aux outils comme Claude ou Cursor. L'auteur termine sur une note personnelle, remerciant sa communauté pour ces dix années de soutien. Il réitère sa conviction qu'Angular demeure l'un des meilleurs choix pour bâtir des applications web professionnelles et modernes.

Community Posts

View all posts