Angular — это фреймворк, а не «библиотека»

В отличие от других интересных альтернатив, таких как React, Angular — это не «библиотека», а фреймворк с подходом «на батарейках» (Angular самодостаточен, поставляется из коробки готовым к использованию, со всем необходимым). Таким образом, Angular изначально предоставляет все необходимое для создания всего приложения со стандартной конфигурацией:

  • Полная настройка сборки и оптимизации.
  • Модуль анимации.
  • Модуль «Маршрутизация».
  • Модуль форм.
  • Отлаживать.
  • Модульные тесты и e2e.

Поэтому нет необходимости колебаться и обсуждать выбор модулей маршрутизации, форм и т. д. С Angular большинство приложений имеют одинаковую структуру проекта и один и тот же «стек» инструментов. Таким образом, приложения Angular являются однородными (одной и той же природы, распределенными равномерно), и поэтому вы реже сталкиваетесь с «особыми случаями». В большинстве случаев вы избежите проблем с совместимостью зависимостей, позволив команде Angular сделать это за вас.

Машинопись

Angular выигрывает от строгости и гибкости языка TypeScript.

Краткая презентация TypeScript

TypeScript – это бесплатный язык с открытым исходным кодом, разработанный и поддерживаемый Microsoft с октября 2012 года. TypeScript — это наложение ECMAScript, позволяющее опционально добавлять статическую типизацию. В настоящее время нет реальной среды выполнения TypeScript. Компилятор должен использоваться для преобразования кода TypeScript в допустимый код ECMAScript, который затем может быть запущен в среде выполнения JavaScript по нашему выбору: в браузере, NodeJS и т. д. TypeScript — это идеальный компромисс между гибкостью языка с динамической типизацией и строгостью языка. статически типизированный язык, не впадая в связанную с ним синтаксическую тяжесть, и это благодаря интересным концепциям, таким как «утиная типизация» или вывод типов. TypeScript не является стандартом, и браузеры не поддерживают его, тем более что, в отличие от ECMAScript, TypeScript набирается статически и поэтому всегда требует транспиляции.

Огонь AtScript

Первоначально предполагалось, что Angular будет использовать язык AtScript в качестве наложения TypeScript, но в марте 2015 года Microsoft объявила о поддержке функций AtScript в следующей версии TypeScript (1.5). Затем от AtScript отказались еще до его рождения.

Идея AtScript заключалась в том, чтобы ввести аннотации (отсюда и название языка), которые были окончательно введены в TypeScript 1.5 под названием «декораторы», как и в других языках (например, Python).

Одностраничное приложение (SPA) и прогрессивное веб-приложение (PWA) с ANGULAR

Angular изначально предоставляет все необходимое для создания прогрессивных веб-приложений. Таким образом, можно быстро создавать веб-приложения, создающие иллюзию собственного приложения, оставаясь при этом устойчивыми к проблемам с подключением. Идея состоит в том, чтобы рассматривать Интернет как взаимосвязанные приложения, а не веб-сайты, содержащие страницы.

Абстракция

Angular предоставляет уровни абстракции на всех уровнях. Например, это позволяет избежать прямого манипулирования DOM.

Мобильный

По умолчанию Angular использует слой PlatformBrowser для связи с DOM. Существуют и другие альтернативы этого уровня для использования Angular в других контекстах:

Разделение интересов

Angular позволяет лучше разделить обязанности с помощью подхода MVC (модель/представление/контроллер) и внедрения зависимостей.

Очень богатая экосистема и большое сообщество

Использование 5-летнего существования Angular и отзывов сообщества для исправления ошибок проектирования, облегчения разработки и повышения производительности и стабильности.

Тестируемость в приоритете

Angular предоставляет все инструменты, необходимые для облегчения реализации модульных и e2e-тестов.

  • Готовая настройка тестирования инструментов, отчетности, покрытия и т. д.
  • Http и Routing имитируют модули.
  • Protractor: наложение Selenium, адаптированное для облегчения сквозного тестирования Angular с встроенной интеграцией параллелизма и такими инструментами, как BrowserStack и SauceLabs. Однако вы можете интегрировать свои любимые инструменты сквозного тестирования, такие как (cypress.js и т. д.), или модульные тесты, такие как (шутка…).

Архитектура и ремонтопригодность

Angular был очень гибким. Без передовой практики приложения очень быстро теряют стабильность и ремонтопригодность. Angular требует более структурированного компонентного подхода и более четкого способа обмена данными между компонентами. Angular поощряет общую реализацию («независимую от фреймворка»), которая упрощает повторное использование кода Angular в других контекстах.

Производительность

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

График выпуска Angular и долгосрочная поддержка

Команда Angular стремится публиковать новый основной релиз каждые 6 месяцев (что соответствует двум крупным всемирным конференциям в мае [NgConf] и в ноябре [Angular Connect]).

  • Angular 2: сентябрь 2016 г.
  • Angular 4: март 2017 г.
  • Angular 5: ноябрь 2017 г.
  • Angular 6: 3 мая 2018 г. (также версии Angular CLI, Angular Material, Flex Layout и т. д.)
  • Angular 7: 18 октября 2018 г.
  • Angular 8: 28 мая 2019 г.
  • Angular 9: 6 февраля 2020 г.
  • Angular 10: 24 июня 2020 г.
  • Angular 11: 10 ноября 2020 г.
  • Angular 12: 12 мая 2021 г.

NB: новая версия — это не что иное, как предыдущая версия с некоторыми новыми функциями. Таким образом, каждая версия поддерживается в течение 18 месяцев и остается совместимой с функциями предыдущей версии, которые устарели.

https://angular.io/guide/releases

Руководство по обновлению

https://update.angular.io/

Об AngularJS

AngularJS версии 1.x. Не путайте AngularJS и Angular. Хотя номер версии 2.x, похоже, указывает на преемственность с Angular версии 1.x, это полная переработка Framework.

Последняя версия AngularJS, AngularJS 1.7, была выпущена в мае 2018 года и снова находилась в долгосрочной поддержке (LTS) с 1 июля 2018 года по 30 июня 2021 года.

СПАСИБО ЗА ВНИМАНИЕ И СКОРО ЗА НОВЫМИ СТАТЬЯМИ. ПОЖАЛУЙСТА, ПОСТАВЬТЕ ЛАЙК, ПОДЕЛИТЕСЬ И ПОДПИШИТЕСЬ 🤗🤗🤗🤗