Angular (веб-фреймворк)
Разработчик(и) | |
---|---|
Первоначальный выпуск | 2.0 / 14 сентября 2016 г [1] |
Стабильная версия | 18.1.1 [2] / 17 июля 2024 г |
Предварительный выпуск | 18.2.0-следующий.0 / 10 июля 2024 г [3] |
Репозиторий | Угловой репозиторий |
Написано в | TypeScript , JavaScript |
Платформа | Веб-платформа |
Тип | Веб-фреймворк |
Лицензия | МОЯ лицензия |
Веб-сайт | угловой |
Angular (также называемый « Angular 2+ ») [4] — это TypeScript с открытым исходным кодом на основе бесплатная платформа одностраничных веб-приложений . Он разработан Google и сообществом частных лиц и корпораций. Angular — это полностью переписанная версия той же команды, которая создала AngularJS . Экосистема Angular состоит из разнообразной группы, насчитывающей более 1,7 миллиона разработчиков, авторов библиотек и создателей контента. [5] Согласно опросу разработчиков Stack Overflow, Angular — один из наиболее часто используемых веб-фреймворков, аналогичный React . [6]
Различия между Angular и AngularJS
[ редактировать ]Google разработал Angular как переписанный с нуля AngularJS. В отличие от AngularJS, в Angular нет концепции «области действия» или контроллеров; вместо этого он использует иерархию компонентов в качестве основной архитектурной характеристики. [7] Angular имеет другой синтаксис выражений, ориентированный на "[ ]"
для привязки собственности и "( )"
для привязки событий . [8] Angular рекомендует использовать Microsoft от язык TypeScript , который предоставляет такие функции, как статическая типизация , обобщения и аннотации типов .
Функции
[ редактировать ]Компонентная архитектура
[ редактировать ]Angular использует компонентную архитектуру, которая позволяет разработчикам создавать инкапсулированные, повторно используемые элементы пользовательского интерфейса. Каждый компонент инкапсулирует свои собственные HTML , CSS и TypeScript, что упрощает управление и тестирование отдельных частей приложения. [9]
Привязка данных
[ редактировать ]Angular поддерживает двустороннюю привязку данных, которая синхронизирует данные между моделью и представлением. Это гарантирует, что любые изменения в представлении автоматически отражаются в модели и наоборот. [10]
Внедрение зависимостей
[ редактировать ]Angular имеет встроенную систему внедрения зависимостей, которая упрощает управление и внедрение зависимостей в компоненты и сервисы. Это способствует модульности и упрощению тестирования. [11]
Директивы
[ редактировать ]Angular расширяет HTML дополнительными атрибутами, называемыми директивами. Директивы предлагают функциональные возможности для изменения поведения или внешнего вида элементов DOM . [12]
Маршрутизация
[ редактировать ]Angular включает в себя маршрутизатор, который позволяет разработчикам определять состояния приложений и пути навигации и управлять ими, что упрощает создание одностраничных приложений со сложной маршрутизацией. [13]
Угловой интерфейс командной строки
[ редактировать ]Angular CLI ( Интерфейс командной строки ) предоставляет набор инструментов для создания, сборки, тестирования и развертывания приложений Angular. Это обеспечивает быструю настройку приложений и упрощает текущие задачи разработки. [14]
Серверный рендеринг
[ редактировать ]Angular имеет официальную поддержку серверного рендеринга. Эта функция улучшает время загрузки и производительность приложения. Рендеринг на стороне сервера также улучшает поисковую оптимизацию, делая контент более доступным для веб-сканеров. [15]
История
[ редактировать ]Angular 2.0 был анонсирован на конференции ng-Europe 22–23 октября 2014 г. [16] 30 апреля 2015 года разработчики Angular объявили, что Angular 2 перешёл с Alpha на Developer Preview. [17] Angular 2 перешёл в бета-версию в декабре 2015 года. [18] а первый релиз-кандидат был опубликован в мае 2016 года. [19] Финальная версия была выпущена 14 сентября 2016 года.
В версии Angular 8 представлен новый конвейер компиляции и рендеринга Ivy, а в версии Angular 9 Ivy включен по умолчанию. В Angular 13 удален устаревший компилятор View Engine. [20]
Мы
[ редактировать ]Переписанная версия AngularJS называлась «Angular 2», но это привело к путанице среди разработчиков. Чтобы внести ясность, команда объявила, что для каждой платформы следует использовать отдельные имена, где « AngularJS » относится к версиям 1.X, а «Angular» без «JS» относится к версиям 2 и выше. [21]
История версий
[ редактировать ]Версия | Дата выпуска | Новые возможности | Примечания |
---|---|---|---|
Угловой 18 | 22 мая 2024 г. | Экспериментальная поддержка обнаружения бесзональных изменений и улучшения рендеринга на стороне сервера. [22] | |
Угловой 17 | 8 ноября 2023 г. [23] | Разработчик приложений, новый синтаксис потока управления и переработанный веб-сайт обучения и документации. [23] | |
Угловой 16 | 3 мая 2023 г. | Angular Universal Частичная гидратация серверного рендеринга , экспериментальная поддержка Jest и система сборки на основе Esbuild для серверов разработки. | |
Угловой 15 | 18 ноября 2022 г. | Автономные API, API композиции директив. [24] | |
Угловой 14 | 2 июня 2022 г. | Типизированные формы, автономные компоненты и новые примитивы в Angular CDK (набор для разработки компонентов). | |
Угловой 13 | 4 ноября 2021 г. [25] | Удален устаревший модуль рендеринга View Engine. | |
Угловой 12 | 12 мая 2021 г. [26] | Устаревшая поддержка Internet Explorer 11. | |
Угловой 11 | 11 ноября 2020 г. [27] | Экспериментальная поддержка Webpack 5 | |
Угловой 10 | 24 июня 2020 г. [28] | Новый инструмент выбора диапазона дат (библиотека пользовательского интерфейса материалов). | |
Угловой 9 | 6 февраля 2020 г. | Улучшено время сборки, включение AOT по умолчанию. | |
Угловой 8 | 28 мая 2019 г. | Дифференциальная загрузка для всего кода приложения, динамический импорт для отложенных маршрутов, веб-работники, поддержка TypeScript 3.4 и Angular Ivy в качестве предварительной версии по согласию. [29] | |
Угловой 7 | 18 октября 2018 г. | Обновления, касающиеся производительности приложений, Angular Material и CDK, виртуальной прокрутки, улучшенной доступности выборок. Поддержка проецирования контента с использованием веб-стандарта для пользовательских элементов и обновлений зависимостей относительно Typescript 3.1, RxJS 6.3 и Node.js 10. [30] | |
Угловой 6 | 4 мая 2018 г. [31] | Экспериментальная поддержка пользовательских элементов | |
Угловой 5 | 1 ноября 2017 г. [32] | Поддержка прогрессивных веб-приложений , оптимизатор сборки и улучшения, связанные с Material Design. [33] | |
Угловой 4.3 | 18 июля 2017 г. | HttpClient для выполнения HTTP-запросов, условного отключения анимации, новых событий жизненного цикла маршрутизатора для Guards и Resolvers. | Незначительный выпуск, что означает, что он не содержит критических изменений и является полной заменой Angular 4.xx. |
Угловой 4 | 23 марта 2017 г. [34] | Добавлена команда обновления | Обратная совместимость с Angular 2. |
Угловой 2 | 14 сентября 2016 г. | Первоначальный выпуск |
Будущие выпуски
[ редактировать ]Начиная с версии 9, команда Angular перевела все новые приложения на использование компилятора и среды выполнения Ivy. Они будут работать над Ivy, чтобы улучшить размеры выходных пакетов и скорость разработки. [35]
Ожидается, что каждая версия будет обратно совместима с предыдущей версией. Команда разработчиков Angular обязалась делать обновления два раза в год.
Политика и график поддержки
[ редактировать ]Все основные выпуски поддерживаются в течение 18 месяцев. Это 6 месяцев активной поддержки, в течение которых регулярно выпускаются обновления и исправления. Затем следует 12 месяцев долгосрочной поддержки (LTS), в течение которых выпускаются только критические исправления и исправления безопасности. [36]
Версия | Статус | Выпущенный | Активные концы | LTS заканчивается | Продолжительность |
---|---|---|---|---|---|
^18.0.0 | Активный | 22 мая 2024 г. | 22 ноября 2024 г. | 22 ноября 2025 г. | 1,5 года |
^17.0.0 | LTS | 08 ноября 2023 г. | 8 мая 2024 г. | 15 мая 2025 г. | 1,5 года |
^16.0.0 | LTS | 3 мая 2023 г. | 08 ноября 2023 г. | 08 ноября 2024 г. | 1,5 года |
Версии Angular от v2 до v15 больше не поддерживаются. [37]
Библиотеки
[ редактировать ]Угловой материал
[ редактировать ]Angular Material — это библиотека компонентов пользовательского интерфейса , которая реализует дизайн материалов в Angular. [38] Он предоставляет набор повторно используемых компонентов, соответствующих спецификациям Google Material Design, с целью предложить единообразный пользовательский интерфейс на различных устройствах и платформах.
Angular Material включает в себя множество компонентов пользовательского интерфейса, таких как кнопки, карточки, диалоговые окна, сетки и элементы управления формами. Эти компоненты разработаны таким образом, чтобы их можно было настраивать и легко интегрировать в приложения Angular. Дополнительные функции Angular Material включают поддержку адаптивного дизайна , тем и специальных возможностей.
Угловые элементы
[ редактировать ]В 2018 году в Angular 6 были представлены Angular Elements, позволяющие разработчикам упаковывать компоненты Angular в виде пользовательских веб-элементов, которые являются частью набора веб-компонентов API-интерфейсов веб-платформы. [39]
См. также
[ редактировать ]- Реагировать (программное обеспечение)
- Просмотр.js
- стройный
- Сравнение веб-фреймворков на основе JavaScript
- Веб-фреймворк
Ссылки
[ редактировать ]- ^ «Угловой, версия 2: проприоцепция-подкрепление» . blogspot.com . 14 сентября 2016 г. Архивировано из оригинала 12 марта 2017 г. Проверено 18 марта 2017 г.
- ^ «Выпуск 18.1.1» . 17 июля 2024 г. Проверено 21 июля 2024 г.
- ^ "угловой/CHANGELOG.md" . Гитхаб . Проверено 10 июля 2024 г.
- ^ «AngularJS и Angular 2+: подробное сравнение» . 6 апреля 2018 г.
- ^ «Угловой» . angular.io . Проверено 26 марта 2024 г.
- ^ «Опрос разработчиков Stack Overflow, 2023 г.» . Переполнение стека . Проверено 2 июня 2024 г.
- ^ «Угловые документы» . angular.io .
- ^ «В чем разница между AngularJS и Angular?» . gorrion.io . 19 сентября 2017 года . Проверено 28 января 2018 г.
- ^ «Компоновка с использованием компонентов · Angular» . angular.dev . Проверено 2 июня 2024 г.
- ^ «Понимание привязки · Angular» . angular.dev . Проверено 2 июня 2024 г.
- ^ «Внедрение зависимостей в Angular» . angular.dev . Проверено 2 июня 2024 г.
- ^ «Директивы · Обзор · Angular» . angular.dev . Проверено 2 июня 2024 г.
- ^ «Маршрутизация · Обзор · Angular» . angular.dev . Проверено 2 июня 2024 г.
- ^ «Angular CLI · Обзор · Angular» . angular.dev . Проверено 2 июня 2024 г.
- ^ Журавский, Павел (9 мая 2024 г.). «Angular SSR: руководство по реализации рендеринга на стороне сервера» . Претиус . Проверено 17 июля 2024 г.
- ^ «Расписание Нг-Европа» . Архивировано из оригинала 30 апреля 2018 г. Проверено 29 апреля 2018 г.
- ^ @angularjs (30 апреля 2015 г.). «Angular 2 переходит из альфа-версии в версию Developer Preview! Руководство для разработчиков и документация по API теперь доступны по адресу… angular.io/docs/js/latest» ( твит ) . Проверено 21 октября 2015 г. - через Twitter .
- ^ «Angular: Angular 2 Beta» . angularjs.blogspot.it . Архивировано из оригинала 18 декабря 2015 г. Проверено 13 июля 2016 г.
- ^ «угловой/угловой» . Гитхаб . Проверено 4 мая 2016 г.
- ^ Томпсон, Марк (04 ноября 2021 г.). «Angular v13 теперь доступен» . Угловой блог . Проверено 2 июня 2024 г.
- ^ «Angular: Рекомендации по брендингу AngularJS» . Архивировано из оригинала 4 февраля 2017 г. Проверено 4 марта 2017 г.
- ^ Гечев, Минько (23 мая 2024 г.). «Angular v18 теперь доступен!» . Середина . Проверено 2 июня 2024 г.
- ^ Jump up to: а б Гечев, Минько (8 ноября 2023 г.). «Представляем Angular v17» . Середина . Угловой блог . Проверено 12 ноября 2023 г.
- ^ Гечев, Минько (21 ноября 2022 г.). «Angular v15 теперь доступен!» . Угловой блог . Проверено 2 июня 2024 г.
- ^ Томпсон, Марк (4 ноября 2021 г.). «Angular v13 теперь доступен» . Угловой блог . Проверено 10 января 2022 г.
- ^ Томпсон, Марк (12 мая 2021 г.). «Angular v12 теперь доступен» . Середина . Проверено 17 мая 2021 г.
- ^ «Теперь доступна версия 11 Angular» . 4 декабря 2020 г.
- ^ «Версия 10 Angular уже доступна» . 25 июня 2020 г.
- ^ Флюин, Стивен (08 февраля 2019 г.). «План для версии 8.0 и Ivy» . Угловой блог . Проверено 7 июня 2019 г.
- ^ Флюин, Стивен (18 октября 2018 г.). «Версия 7 Angular — подсказки CLI, виртуальная прокрутка, перетаскивание и многое другое» . Угловой блог . Проверено 7 июня 2019 г.
- ^ «Теперь доступна версия Angular 6.0.0» . Проверено 4 мая 2018 г.
- ^ Флюин, Стивен. «Доступна версия Angular 5.0.0» . Проверено 2 ноября 2017 г.
- ^ «Выпуск JavaScript-фреймворка Angular 5 задерживается» . 18 сентября 2017 г.
- ^ «Angular 4.0.0 теперь доступен» . angularjs.blogspot.ca . Архивировано из оригинала 08 января 2018 г. Проверено 23 марта 2017 г.
- ^ Флюин, Стивен (6 февраля 2020 г.). «9-я версия Angular уже доступна — проект Ivy уже доступен!» . blog.angular.io . Проверено 22 марта 2022 г.
- ^ «Угловой» . angular.io . Проверено 7 июня 2019 г.
- ^ «Угловой» . angular.io . Проверено 10 июня 2022 г.
- ^ «Угловой материал» . материал.angular.io .
- ^ «Как создавать пользовательские элементы и веб-компоненты Angular 6» . 29 сентября 2018 г.