Angular (фреймворк)
Angular (зазвичай так називають фреймворк Angular 2 або Angular 2+, тобто вищі версії) — написаний на TypeScript front-end фреймворк з відкритим кодом, який розробляється під керівництвом Angular Team у компанії Google, а також спільнотою приватних розробників та корпорацій. Angular — це AngularJS, який був переосмислений та перероблений тією ж командою розробників.
Тип | бібліотека JavaScript, Односторінковий застосунок |
---|---|
Розробник | Google та спільнота. |
Перший випуск | 14 вересня, 2016[1] |
Стабільний випуск | 10.0.9 (12 серпня, 2020[2]) |
Версії | 13.1.1 (15 грудня 2021)[3] |
Репозиторій | github.com/angular/angular |
Операційна система | Мультиплатформний |
Мова програмування | TypeScript |
Стан розробки | Активний |
Ліцензія | MIT License |
Вебсайт | angular.io |
Angular у Вікісховищі |
Історія
Назва
Спочатку переписаний AngularJS отримав назву Angular 2 від команди розробників, яка над ним працювала, але це призвело до плутанини серед інших розробників. Аби пояснити різницю між ними та наголосити, що це окремі проекти, команда вирішила для фреймворків версій 1.X застосовувати назву AngularJS, а для версій, починаючи з 2.0, — Angular без JS.[4]
Основні відмінності між Angular та AngularJS
Як згадано вище, Angular — це ретельно переписаний AngularJS.
- Додано Angular CLI, що дає змогу розпочати створення нового додатка, просто написавши команду
ng new [app name]
[5] - Angular не використовує концепцію "області видимості" або контролерів, натомість як головну архітектурну концепцію він застосовує ієрархію компонентів
- Angular має інакший синтаксис написання виразів, застосовуючи
"[ ]"
для біндінгу даних властивостей, і"( )"
для біндінгу даних івентів[6] - Модульність – значна частина основного функціоналу перенесена у модулі
- Angular рекомендує та застосовує розроблену Microsoft мову — TypeScript, що містить такі можливості, як:
- TypeScript — надмножина ECMAScript 6 (ES6), і є зворотно сумісним зі стандартом ECMAScript 5 (тобто JavaScript).
Angular також має такі ES6-можливості, як:
- Анонімні функції
- Ітератори
- Цикли типу For/Of
- Python-подібні генератори
- Рефлексія
- Динамічне завантаження
- Асинхронна компіляція шаблонів
- Заміна контролерів та
$scope
(області видимості) компонентами та директивами – компонент є директивою з шаблоном - Ітеративні колбеки завдяки використанню RxJS. RxJS дещо обмежує видимість станів та можливості дебагінгу, але, застосовуючи такі плагіни, як ngReact та ngrx, це легко вирішується.
Майбутні версії
Починаючи з 9 версії Angular всі нові програми використовують компілятор Ivy. Тож команда Angular працюватиме над покращенням цього компілятора, що в свою чергу має призвести до зменшення загального розміру пакунка. Очікується, що кожна наступна версія буде зворотно сумісною з попередньою. Google також обіцяє публікувати оновлення двічі на рік.
Статистика користування Angular
Angular з кожним роком зростає у популярності. Станом на серпень 2020, кожного дня завантажується близько 1,5 мільйонів Angular/core, та подвоюється кожен рік[7].
Технологія Angular використовується у веб-додатках таких компаній:[8]
- Google (Gmail, Google Play, Google Translate, Google Ads, Youtube);
- PayPay;
- Upwork;
- Expedia
- Lego;
- Adidas.
На ринку програмних фреймворків Angular займає 2 позицію після ASP.NET, що займають 9,18% та 44,9% відповідно[9].
Див. також
Джерела
- Trigular, version 2: proprioception-reinforcement. blogspot.com. 14 вересня 2016. Архів оригіналу за 12 березня 2017. Процитовано 28 січня 2018.
- angular/CHANGELOG.md at master · angular/angular. GitHub. Процитовано 16 серпня 2020.
- https://github.com/angular/angular/releases
- Angular: Branding Guidelines for AngularJS. Архів оригіналу за 9 січня 2018. Процитовано 28 січня 2018.
- angular / angular-cli. GitHub. Процитовано 28 січня 2018.
- What’s the difference between AngularJS and Angular?. gorrion.io. 19 вересня 2017. Процитовано 28 січня 2018.
- NPM Trends: Compare NPM package downloads. www.npmtrends.com (англ.). Процитовано 16 серпня 2020.
- 15 Surprising Stats About Angular. Stay on top with the latest tech trends (англ.). 27 липня 2020. Процитовано 16 серпня 2020.
- Top 5 products in the Software Frameworks market. enlyft.com (англ.). Процитовано 16 серпня 2020.