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
Medium
Announcing Angular v20
The past couple of years have been transformative for Angular, as we’ve unleashed major advancements like reactivity with Signals and the…
❤🔥7❤3👍2
Обновлено руководство по фреймворку Angular до версии Angular 20
https://metanit.com/web/angular2/
#angular
https://metanit.com/web/angular2/
#angular
👍13🥰3❤🔥2👌2❤1🔥1
* Производительность: Переход к “zoneless” делает Angular быстрее, уменьшает накладные расходы, даёт более контролируемое обнаружение изменений.
* Современный подход к формам: Signal Forms упрощают разработку, особенно в реактивных сценариях с валидацией и сложной логикой.
* Доступность: Angular ARIA помогает создавать доступные интерфейсы “из коробки”, облегчая работу с экранными читателями и фокусом.
* ИИ и автоматизация: MCP-сервер создаёт новые возможности для интеграции ИИ-ассистентов: они могут “понимать” структуру вашего Angular-проекта и помогать в рефакторинге, генерации кода и изучении.
* Современные инструменты разработки: Vitest по умолчанию делает тестирование более современным и быстрым, а сборка — более оптимизированной.
https://blog.angular.dev/announcing-angular-v21-57946c34f14b
#angular
* Современный подход к формам: Signal Forms упрощают разработку, особенно в реактивных сценариях с валидацией и сложной логикой.
* Доступность: Angular ARIA помогает создавать доступные интерфейсы “из коробки”, облегчая работу с экранными читателями и фокусом.
* ИИ и автоматизация: MCP-сервер создаёт новые возможности для интеграции ИИ-ассистентов: они могут “понимать” структуру вашего Angular-проекта и помогать в рефакторинге, генерации кода и изучении.
* Современные инструменты разработки: Vitest по умолчанию делает тестирование более современным и быстрым, а сборка — более оптимизированной.
https://blog.angular.dev/announcing-angular-v21-57946c34f14b
#angular
Medium
Announcing Angular v21
Authors: Jens Kuehlers, Mark “Techson” Thompson
👍7🔥2🥰2