Post #1527
1.56K
Google выпустил новую версию фреймворка для создания веб-приложений Angular - Angular v20. Этот выпуск представляет собой значительное обновление фреймворка, сосредоточенное на повышении производительности, улучшении опыта разработчиков и стабилизации ранее внедрённых функций. Основной акцент сделан на доработке API реактивности, бесзонного (zoneless) подхода, инкрементальной гидратации и других улучшений.
Основные изменения:
- Стабилизация API реактивности:
API сигналов (Signals), включая effect, linkedSignal и toSignal, теперь полностью стабильны, что позволяет разработчикам использовать их для более реактивного и декларативного управления состоянием.
Введены улучшения в интеграции сигналов с основными пакетами Angular (формы, маршрутизация, HTTP), обеспечивая более удобный опыт разработки.
- Бесзонный Angular (Zoneless, Developer Preview):
Поддержка бесзонного подхода к обнаружению изменений (change detection) вышла в стадию Developer Preview. Это позволяет отказаться от Zone.js, уменьшая ненужные проверки DOM и повышая производительность.
Новый подход использует сигналы для точечного обновления, что улучшает отладку и взаимодействие с другими библиотеками.
- Инкрементальная гидратация:
Введена функция инкрементальной гидратации, которая позволяет рендерить отложенный контент на сервере, пропуская его при клиентской гидратации. Это улучшает метрики Core Web Vitals, такие как LCP и CLS, обеспечивая частичную интерактивность приложения при загрузке.
- Интеграция с Chrome DevTools:
Совместная работа с командой Chrome DevTools привела к интеграции профилирования Angular в панель Performance. Теперь разработчики могут видеть данные о рендеринге компонентов, циклах обнаружения изменений и выполнении обработчиков событий в одном временном масштабе с другими метриками браузера.
- Улучшения в стиле и упрощение кода:
Обновлено руководство по стилю, исключены устаревшие рекомендации по NgModules.
Предпочтение отдаётся использованию объекта host в метаданных компонентов вместо декораторов @HostBinding и @HostListener, с улучшенной поддержкой проверки типов и языковой поддержки.
Изменены соглашения об именовании: при генерации компонентов и сервисов больше не добавляются расширения .component или .service в имена файлов.
- Новые возможности и будущие планы:
Введена поддержка тестирования с использованием Vitest, что модернизирует процесс юнит-тестирования.
Анонсированы предварительные планы для Angular v21, включая компоненты без селекторов (selectorless components), новые форматы создания компонентов, улучшения в формах на основе сигналов и официальный маскот Angular.
Запущен RFC (Request for Comments) для обсуждения концепций маскота, чтобы он отражал ценности и идентичность Angular.
- AI-интеграция
- Технические изменения:
Минимальная версия Node.js для Angular v20 — 20.11.1.
Обновлены методы маршрутизации для поддержки неизменяемых массивов и асинхронных функций RedirectFn (Observable или Promise).
Изменено поведение обработки ошибок в тестах: необработанные ошибки в слушателях теперь передаются внутренней системе обработки ошибок Angular.
https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301
#angular
Основные изменения:
- Стабилизация API реактивности:
API сигналов (Signals), включая effect, linkedSignal и toSignal, теперь полностью стабильны, что позволяет разработчикам использовать их для более реактивного и декларативного управления состоянием.
Введены улучшения в интеграции сигналов с основными пакетами Angular (формы, маршрутизация, HTTP), обеспечивая более удобный опыт разработки.
- Бесзонный Angular (Zoneless, Developer Preview):
Поддержка бесзонного подхода к обнаружению изменений (change detection) вышла в стадию Developer Preview. Это позволяет отказаться от Zone.js, уменьшая ненужные проверки DOM и повышая производительность.
Новый подход использует сигналы для точечного обновления, что улучшает отладку и взаимодействие с другими библиотеками.
- Инкрементальная гидратация:
Введена функция инкрементальной гидратации, которая позволяет рендерить отложенный контент на сервере, пропуская его при клиентской гидратации. Это улучшает метрики Core Web Vitals, такие как LCP и CLS, обеспечивая частичную интерактивность приложения при загрузке.
- Интеграция с Chrome DevTools:
Совместная работа с командой Chrome DevTools привела к интеграции профилирования Angular в панель Performance. Теперь разработчики могут видеть данные о рендеринге компонентов, циклах обнаружения изменений и выполнении обработчиков событий в одном временном масштабе с другими метриками браузера.
- Улучшения в стиле и упрощение кода:
Обновлено руководство по стилю, исключены устаревшие рекомендации по NgModules.
Предпочтение отдаётся использованию объекта host в метаданных компонентов вместо декораторов @HostBinding и @HostListener, с улучшенной поддержкой проверки типов и языковой поддержки.
Изменены соглашения об именовании: при генерации компонентов и сервисов больше не добавляются расширения .component или .service в имена файлов.
- Новые возможности и будущие планы:
Введена поддержка тестирования с использованием Vitest, что модернизирует процесс юнит-тестирования.
Анонсированы предварительные планы для Angular v21, включая компоненты без селекторов (selectorless components), новые форматы создания компонентов, улучшения в формах на основе сигналов и официальный маскот Angular.
Запущен RFC (Request for Comments) для обсуждения концепций маскота, чтобы он отражал ценности и идентичность Angular.
- AI-интеграция
- Технические изменения:
Минимальная версия Node.js для Angular v20 — 20.11.1.
Обновлены методы маршрутизации для поддержки неизменяемых массивов и асинхронных функций RedirectFn (Observable или Promise).
Изменено поведение обработки ошибок в тестах: необработанные ошибки в слушателях теперь передаются внутренней системе обработки ошибок Angular.
https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301
#angular
- ❤🔥 7
- ❤ 3
- 👍 2













