10 лет Angular: подводим итоги и смотрим в будущее

MMaximilian Schwarzmüller
Computing/SoftwareAdult EducationInternet Technology

Transcript

00:00:00Ровно 10 лет назад — и это действительно поразительно, должен признать — был довольно важный
00:00:06день для меня, потому что тогда я выпустил первую версию своего курса по Angular, курса по Angular 2.
00:00:12И, как и сам Angular, этот курс, конечно же, сильно эволюционировал за эти 10 лет,
00:00:17я обновлял его бесчисленное количество раз, так как Angular заметно развивался. И
00:00:23в этом видео, в этом выпуске, я хочу немного поговорить о прошлом Angular: откуда мы
00:00:28пришли, где мы находимся сегодня и, конечно, куда мы движемся и что ждет
00:00:32Angular и его разработчиков в будущем, стоит ли его по-прежнему учить, особенно
00:00:37сейчас, в эпоху ИИ. Давайте погрузимся в тему. Итак, Angular, а конкретно Angular 2,
00:00:44был анонсирован в 2014-м, разрабатывался в 2015-м, и тогда он вызвал много споров,
00:00:53потому что полностью отличался от Angular 1 (AngularJS), который сам по себе был одним
00:00:59из первых крупных фреймворков того времени, созданных, по сути, чтобы помочь нам
00:01:05отказаться от jQuery или, проще говоря, чтобы мы могли создавать более продвинутые
00:01:13и интерактивные веб-приложения. Angular 1 упростил разработку приложений,
00:01:20управляемых на стороне клиента. А затем анонсировали Angular 2, и он был совсем другим. И в 2016-м вышла
00:01:25первая стабильная версия Angular — я имею в виду именно Angular 2.
00:01:33И, как я уже говорил, в феврале 2016-го я выпустил первую версию своего курса
00:01:40еще для бета-версии Angular 2. И поверьте, в той бета-фазе и даже в фазе релиз-кандидата
00:01:45было очень много изменений, я уже тогда обновлял курс много-много раз.
00:01:51Но в итоге мы получили Angular 2. И тот Angular,
00:01:58если сравнить с современным кодом, выглядел совсем иначе. Была концепция ng-модулей,
00:02:05где использовались классы и декоратор @NgModule,
00:02:12в котором нужно было явно объявлять все используемые компоненты. Конечно, были и сами
00:02:19классы компонентов, и внедрение зависимостей через конструктор. В какой-то степени
00:02:26это было похоже на современные компоненты — это все еще класс. Но все же отличия были огромны.
00:02:32Особенно ng-модули — вещь, о которой вы можете уже и не знать,
00:02:39в зависимости от того, когда вы начали путь в Angular и в какой компании
00:02:45с какой версией работали. Ведь до сих пор
00:02:51существует множество проектов, «застрявших» на старых версиях.
00:02:55Затем, в 2017 году, случилась история с «пропущенной» третьей версией. У Angular
00:03:04и по сей день график релизов подразумевает новую мажорную версию каждые полгода.
00:03:11Я помню, тогда многие были этим недовольны, так как казалось,
00:03:17что Angular будет ломаться каждые шесть месяцев. В комментариях к курсу было полно
00:03:23жалоб на то, что Angular постоянно меняется, хотя на самом деле это было не так.
00:03:27Такой график релизов просто давал им возможность внедрять крупные новые функции,
00:03:33но они всегда делали это с соблюдением обратной совместимости.
00:03:40А третья версия в 2017-м «пропала» вот почему: изначально
00:03:46возник рассинхрон версий между основными пакетами Angular и пакетом роутера,
00:03:51так как Angular — это фреймворк, разделенный на множество отдельных пакетов.
00:03:57И они пропустили третью версию, чтобы привести все к единому номеру. Ну а
00:04:03следующим большим скачком стал 2020 год и внедрение компилятора Ivy.
00:04:12Конечно, и в промежутке, году в 2018-м, команда Angular усиленно
00:04:19работала над этим новым компилятором, параллельно внося мелкие правки и улучшения.
00:04:25Идея компилятора заключалась в полной переписке внутренних механизмов Angular: того, как компоненты
00:04:31компилируются и переводятся в инструкции для манипуляции DOM. Старый компилятор
00:04:38имел свои неэффективности, которые приводили к неоправданно большому размеру бандла. Именно
00:04:44поэтому они затеяли этот огромный проект по переписке внутреннего компилятора. Почему это важно?
00:04:52Это важно, потому что тот период можно назвать «скучной фазой». С 2017-го
00:05:01по 2020-й мало что менялось внешне. Многое менялось внутри, были мелкие улучшения,
00:05:10но основной набор функций и то, как вы создаете компоненты, оставались прежними.
00:05:16Почему это имело значение? Потому что в то время на рынке
00:05:22JavaScript-фреймворков была огромная конкуренция. В 2016-м
00:05:27вышел Vue.js 2, бурно развивалась экосистема React.
00:05:36В 2018-м в React появились хуки. Казалось, что остальной
00:05:43мир JS стремительно эволюционирует, и не всем это нравилось. Честно говоря,
00:05:50Angular на этом фоне казался застойным. Но это не так плохо, как звучит.
00:05:57Многие ценили эту стабильность, ведь люди часто жаловались на то,
00:06:03что в JavaScript-мире всё меняется слишком быстро. Сегодня это
00:06:08звучит как шутка, учитывая эволюцию ИИ и перемены,
00:06:13происходящие буквально каждый день. Но тогда на это жаловались. Это была «скучная фаза».
00:06:19И она закончилась примерно в 2022 году, когда в Angular 14
00:06:28появились Standalone-компоненты (кажется, сначала в режиме Developer Preview).
00:06:33Суть была в том, что внезапно вам больше не нужны были модули Angular.
00:06:42Вместо этого вы добавляли флаг standalone к компоненту и могли
00:06:47использовать его в других компонентах без ng-модулей. То есть вы всё еще могли их использовать,
00:06:55сочетать с автономными компонентами и миксовать их как угодно,
00:07:00потому что обратная совместимость и легкая миграция всегда были приоритетом
00:07:05для команды Angular, но теперь модули перестали быть обязательными. Так появились Standalone-компоненты,
00:07:12а за ними в 2023-м быстро последовал Angular 16 с сигналами и множеством
00:07:20других новшеств. Например, появился новый синтаксис условий через @if
00:07:26вместо директивы ngIf. Также начались первые эксперименты с
00:07:34Zoneless Angular. Если вы не в курсе, изначально Angular 2
00:07:40использовал концепцию ng-zone или zone.js. Это была библиотека, которая отслеживала
00:07:46все виды событий на сайте: клики, HTTP-запросы и многое другое.
00:07:54Затем она запускала механизм обнаружения изменений, чтобы проверить, нужно ли обновить DOM.
00:08:00Плюс такого подхода был в том, что обновления DOM казались «магическими».
00:08:05В отличие от React, не нужно было вызывать setState или что-то подобное.
00:08:11Но минус заключался в «манки-патчинге», когда библиотека
00:08:17внедряла обработчики во все события, что создавало лишнюю нагрузку
00:08:22и увеличивало размер бандла. К тому же это было
00:08:28менее эффективно, чем механизм React. Поэтому Zoneless стал огромным шагом вперед,
00:08:35который стал возможен благодаря сигналам. Идея сигналов в том, что
00:08:40теперь у вас есть явный способ сообщить Angular об изменении состояния.
00:08:46Фреймворк запоминает, где именно в DOM используется это состояние, и
00:08:52обновляет только эту часть. Так в 2023 году в Angular появилась гранулярная реактивность.
00:09:01Именно поэтому этот период часто называют «Ренессансом Angular». После
00:09:08«скучной фазы» и хаоса первых дней с кучей ломающих изменений относительно
00:09:15первой версии, сообщество снова полюбило Angular, потому что разработчики
00:09:23сделали огромные шаги в будущее: сделали Angular легче, проще в использовании и
00:09:30приблизили его к тому, что люди видели в других фреймворках. Те же сигналы,
00:09:36например, стали популярны благодаря SolidJS, хотя, кажется, одним из первых
00:09:43крупных фреймворков, использовавших их, был Vue. Только там они назывались refs. Как бы то ни было,
00:09:50Angular двигался именно туда. И сейчас, в 2026-м и далее, мы
00:09:59увидим дальнейшее развитие. Появятся сигнальные формы. Команда Angular также
00:10:06активно внедряет ИИ: в CLI встроен MCP-сервер, чтобы упростить ИИ-разработку
00:10:13приложений и «обучить» нейросети всем фишкам Angular. Таким образом, это история
00:10:19фреймворка, который на самом деле оставался стабильным и обратно совместимым
00:10:26на протяжении всего пути, несмотря на то, что переизобретал себя как минимум раз, а то и несколько.
00:10:33Он был суперстабильным. Я считаю, команда Angular проделала отличную работу,
00:10:39им удалось изменить имидж Angular: из тяжеловесного и
00:10:46сложного в освоении инструмента он превратился в более современный фреймворк.
00:10:54Кстати, Angular всегда был фреймворком «полного цикла» (batteries included),
00:10:59где из коробки есть работа с формами, роутинг, HTTP-запросы, внедрение зависимостей,
00:11:06управление состоянием. Всё это уже встроено. Вам
00:11:12не нужно искать сторонние библиотеки, в отличие от React, где приходится отдельно подключать
00:11:18роутер, библиотеку для стейт-менеджмента и так далее. Именно
00:11:23эту особенность ценят многие компании. Поэтому Angular показывал
00:11:29стабильный рост на протяжении всех этих 10 лет, если взглянуть на графики.
00:11:37Но правда и в том, что React вырос гораздо сильнее. Если добавить
00:11:45кривую React, то график Angular почти не виден. Особенно с начала 2025-го React
00:11:54резко рванул вверх, и мы все знаем причину — это ИИ. Потому что у ИИ,
00:12:00о чем я не раз говорил в других видео, есть явный фаворит — это React с Next.js
00:12:06и Tailwind, а не Angular. Значит ли это, что Angular мертв или что
00:12:13его больше не стоит учить? И как вообще выглядит будущее Angular
00:12:18в эпоху ИИ? Что ж, Angular по сей день используется во многих крупных корпорациях именно
00:12:27благодаря стабильности и постоянной обратной совместимости, которая доказана делом,
00:12:34а не просто словами. Благодаря комплексному подходу «всё включено» Angular
00:12:40популярен в большом бизнесе. Конечно, React тоже популярен в
00:12:46крупных компаниях, но цифры загрузок Angular не всегда
00:12:53точно отражают его реальное использование или популярность в корпоративном секторе.
00:13:00И я могу сказать по своему курсу: на нем обучается 850 000 человек. Это
00:13:08ненамного меньше, чем на моем курсе по React на Udemy. Конечно, курсов по React
00:13:15на платформе в целом больше, и они масштабнее. Но тем не менее,
00:13:22мой опыт отличается от того, что можно увидеть на графиках. Я
00:13:29постоянно вижу, что бизнес-клиенты тоже активно изучают Angular. И это,
00:13:36безусловно, делает его отличным выбором для создания современных веб-приложений
00:13:43даже сегодня. Он очень современный благодаря «Ренессансу Angular» и всем
00:13:48запланированным функциям. Конечно, стоит учитывать фактор ИИ. ИИ меняет то,
00:13:57как мы программируем и пишем код. Мы пишем меньше кода. По крайней мере, я пишу меньше.
00:14:04Я использую такие инструменты, как Claude Code или Cursor (кстати, у меня есть по ним курсы,
00:14:09ссылки под видео). Мы пишем код и создаем
00:14:14программы иначе. Но наш выбор технологий все еще важен. Мы хотим использовать
00:14:21технологии, которые поддерживаются, получают обновления безопасности и новые функции,
00:14:27повышающие эффективность или производительность, или позволяющие решать задачи,
00:14:34для которых раньше нужны были сторонние библиотеки. Нам все еще нужны такие технологии.
00:14:40И в этом плане Angular по-прежнему остается достойным и отличным
00:14:45выбором, как и React, если быть честным. И да, предвосхищая
00:14:51комментарии: Vue и Svelte тоже великолепны. Но это видео,
00:14:57как вы заметили по названию и обложке, посвящено именно Angular. Так что да, это отличный
00:15:02выбор. И да, ИИ умеет писать код на Angular, особенно если дать ему правильный контекст,
00:15:08что необходимо в любом случае, вне зависимости от технологии. И
00:15:13поэтому я считаю, что Angular хорошо подготовлен к будущему с ИИ. Если вы считаете,
00:15:19что через три года никто вообще не будет писать код, и выбор технологий
00:15:25перестанет иметь значение, то у вас, конечно, будет другое мнение. Но я так
00:15:30не считаю. Глядя на свою повседневную работу с ИИ, где я активно его использую
00:15:35и где большая часть моего кода генерируется нейросетью, я вижу, что умение управлять ИИ,
00:15:41выбирать технологии и программную архитектуру важно как никогда. И
00:15:48Angular здесь остается отличным вариантом. Такова была моя краткая история Angular —
00:15:54фреймворка, который навсегда останется в моем сердце. Ведь, как я уже говорил,
00:16:00это был первый крупный курс, который я выпустил на Udemy. И он многое
00:16:07изменил в моей жизни: позволил мне профессионально заниматься созданием курсов. Он изменил жизни
00:16:13и карьеры бесчисленного множества людей. Я получил столько потрясающих отзывов. И
00:16:19поэтому Angular всегда был и остается для меня чем-то особенным.

Key Takeaway

Angular успешно преодолел период застоя и трансформировался в современный, высокопроизводительный фреймворк, который остается надежным выбором для бизнеса благодаря стабильности и инновациям в области реактивности.

Highlights

Эволюция Angular от спорного релиза Angular 2 до современного состояния «Ренессанса»

Переход от обязательных NgModules к Standalone-компонентам и сигналам

Внедрение компилятора Ivy как фундамента для повышения производительности и уменьшения бандла

Преимущество подхода «всё включено» (batteries included) для корпоративного сектора

Роль искусственного интеллекта в современной разработке и адаптация Angular к эпохе ИИ

Сравнение рыночных позиций Angular и React, особенно в контексте популярности у ИИ-инструментов

Timeline

Введение и истоки Angular 2

Автор отмечает десятилетие своего курса по Angular и вспоминает бурные времена анонса Angular 2 в 2014-2016 годах. Переход от AngularJS к Angular 2 вызвал много споров из-за полной смены парадигмы и отказа от привычных паттернов. В то время разработка строилась вокруг концепции NgModules и обязательного декларирования компонентов, что сильно отличалось от текущих стандартов. Этот период был важен как точка отсчета для создания современного компонентного подхода в веб-разработке. Несмотря на сложности бета-тестирования, фреймворк заложил основу для масштабируемых корпоративных приложений.

Пропущенная версия и компилятор Ivy

Спикер объясняет курьезную ситуацию с отсутствием третьей версии Angular и переход к регулярному циклу релизов каждые полгода. Основной причиной пропуска версии стал рассинхрон в нумерации пакетов, особенно роутера, который требовал синхронизации. Ключевым технологическим событием этого периода стала разработка и внедрение компилятора Ivy в 2020 году. Ivy полностью переписал внутренние механизмы компиляции, что позволило значительно сократить размер бандлов и улучшить отладку кода. Это изменение стало критическим фундаментом для всех последующих архитектурных улучшений фреймворка.

«Скучная фаза» и конкуренция на рынке

В период с 2017 по 2020 год Angular находился в фазе относительного застоя внешнего функционала, пока конкуренты вроде React и Vue стремительно развивались. В то время как React внедрял хуки, команда Angular фокусировалась на внутренней архитектуре и стабильности, что воспринималось сообществом как отсутствие прогресса. Однако именно эта стабильность привлекла крупных корпоративных заказчиков, уставших от постоянных ломающих изменений в экосистеме JavaScript. Спикер отмечает, что жалобы на «слишком быстрые перемены» тех лет сегодня кажутся ироничными на фоне темпов развития ИИ. Эта фаза позволила фреймворку накопить силы для будущего технологического скачка.

Ренессанс Angular: Standalone и Сигналы

Эпоха возрождения Angular началась в 2022 году с выходом 14-й версии и внедрением Standalone-компонентов, которые сделали NgModules опциональными. Затем последовал революционный Angular 16, представивший систему сигналов для обеспечения гранулярной реактивности без использования тяжелой библиотеки zone.js. Это позволило Angular стать более легким, производительным и интуитивно понятным для разработчиков, приходящих из других экосистем. Внедрение нового управляющего синтаксиса, такого как @if, упростило шаблоны и сделало их более читаемыми. Сообщество вновь проявило интерес к фреймворку, увидев в нем современный инструмент, не уступающий конкурентам по скорости работы.

Angular в эпоху ИИ и сравнение с React

Автор анализирует текущее положение дел в 2026 году, отмечая доминирование React в инструментах генерации кода на базе ИИ. Хотя графики загрузок показывают взрывной рост React, Angular сохраняет прочные позиции в крупном бизнесе благодаря философии «всё включено». В Angular уже встроены инструменты для роутинга, HTTP и управления состоянием, что избавляет от необходимости подбора сторонних библиотек. Спикер делится статистикой своего курса, доказывая, что интерес к обучению Angular остается на высоком уровне, сопоставимом с React. Будущее фреймворка связано с интеграцией ИИ через протоколы вроде MCP для обучения нейросетей специфике Angular.

Заключение: стоит ли учить Angular сегодня?

В финальной части автор подчеркивает, что несмотря на изменение подходов к написанию кода с помощью ИИ, выбор базовой технологии остается критически важным. Умение проектировать архитектуру и управлять ИИ-инструментами требует глубокого понимания фреймворка, и Angular отлично подходит для этой роли. Фреймворк доказал свою жизнеспособность за 10 лет, сохранив обратную совместимость и способность к самообновлению. Для автора Angular — это не просто инструмент, а технология, которая сформировала его карьеру и помогла сотням тысяч студентов. Он рекомендует Angular как надежную и современную платформу для разработки сложных веб-приложений в долгосрочной перспективе.

Community Posts

View all posts