Назад

Що таке Angular?

html code

Джерело фото: https://goo.su/74rnuez

Angular (зазвичай так називають фреймворк Angular 2 або Angular 2+, тобто вищі версії) — написаний на TypeScript front-end фреймворк з відкритим кодом, який розробляється під керівництвом Angular Team у компанії Google, а також спільнотою приватних розробників та корпорацій. Angular — це AngularJS, який був переосмислений та перероблений тією ж командою розробників.

Історія

Спочатку переписаний AngularJS отримав назву Angular 2 від команди розробників, яка над ним працювала, але це призвело до плутанини серед інших розробників. Аби пояснити різницю між ними та наголосити, що це окремі проекти, команда вирішила для фреймворків версій 1.X застосовувати назву AngularJS, а для версій, починаючи з 2.0, — Angular без JS.

Основні відмінності між Angular та AngularJS

Як згадано вище, Angular — це ретельно переписаний AngularJS.

✓ Додано Angular CLI, що дає змогу розпочати створення нового додатка, просто написавши команду ng new [app name]

✓ Angular не використовує концепцію "області видимості" або контролерів, натомість як головну архітектурну концепцію він застосовує ієрархію компонентів

✓ Angular має інакший синтаксис написання виразів, застосовуючи "[ ]" для біндінгу даних властивостей, і "( )" для біндінгу даних івентів

✓ Модульність – значна частина основного функціоналу перенесена у модулі

✓ 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, та подвоюється кожен рік. Технологія Angular використовується у вебдодатках таких компаній: Google (Gmail, Google Play, Google Translate, Google Ads, Youtube); PayPay; Upwork; Expedia Group; Lego; Adidas. На ринку програмних фреймворків Angular займає 2 позицію після ASP.NET, що займають 9,18% та 44,9% відповідно.