Dlaczego Angular?

Angular jest łatwy

Kod Angulara jest bardziej nowoczesny, i łatwiejszy do nauki dla nowych programistów niż Angular 1.x (AngularJS). Widoki i kontrolery są zastępowane komponentami, które można opisać jako udoskonaloną wersję dyrektyw. Komponenty są znacznie łatwiejsze do odczytania, a ich API cechuje mniej żargonu niż dyrektywy Angular 1.x..

TypeScript

Angular został napisany w TypeScript, nadzbioru JavaScript, który implementuje wiele nowych funkcji ES6+. Jest on lepiej obsługiwany przez zaawansowane edytory tekstu (lub IDE). Widać zauważą poprawę w autouzupełnieniach i sugestiach.
Można także pisać kod w JavaScript ES5, który działa bez konieczności translacji.

Pokrewieństwo

Pomimo całkowitego przerobienia, Angular 2 zachował wiele podstawowych pojęć i konwencji z Angular 1.x, Na przykład wstrzykiwanie zależności. Oznacza to, że programistom , którzy są biegli w AngularJS, będzie łatwiej migrować do Angular niż do innych bibliotek i frameworków React czy Ember.

Wydajność i mobilność

Angular został zaprojektowany dla mobilności od podstaw. Oprócz ograniczonej mocy obliczeniowej urządzenia mobilne mają inne funkcje i ograniczenia, które odróżniają je od tradycyjnych komputerów.

Na komputerach stacjonarnych także zauważymy radykalną poprawę wydajności i czasu reakcji.

Angular, podobnie jak React i inne współczesne frameworki, może wykorzystać wzrost wydajności, renderując HTML na serwerze lub nawet w usłudze WWW.
W zależności od projektu aplikacji/strony to renderowanie izomorficzne może sprawić, że użytkownik odczuje większą wygodę.

Poszukiwanie wydajności nie kończy się na renderowaniu wstępnym. Angular przenosi się na natywny telefon komórkowy, integrując się z NativeScript, biblioteką open source, która łączy JavaScript i telefonię komórkową.
Dodatkowo, Angular dobrze integruje się z frameworkiem Ionic pozwalającym na budowanie aplikacji hybrydowych (https://ionicframework.com/docs.

Architektura projektu i konserwacja

Pierwsza wersja Angulara zapewniła programistom internetowym bardzo elastyczny framework do tworzenia aplikacji. Angular 1.x próbował obejść różne ograniczenia przeglądarki związane z JavaScript.
Dokonano tego poprzez wprowadzenie systemu modułowego, który korzystał z wstrzykiwania zależności. Ten system był nowatorski, ale miał swoje wady. Angular 2.x korzysta z systemu modułów ES2015 i nowoczesnych narzędzi do budowania pakietów takich jak Webpack lub SystemJS.
Moduły są znacznie mniej zależne od Angulara ("Angular way") i łatwiej jest napisać bardziej ogólny JavaScript, dołączając go do Angular. Nowy system modułów ułatwia także opracowywanie efektywnych narzędzi, które pomogą lepiej zarządzać nawet dużymi projektami.

Nowe funkcje

Niektóre z interesujących nowych funkcji w Angular 2 to:

  • Form Builder
  • Change Detection
  • Templating
  • Routing
  • Annotations
  • Observables
  • Shadow DOM

Różnice między Angular 1 i 2

Zwróć uwagę, że "Transitional Architecture" odnosi się do stylu aplikacji Angular 1 napisanej w sposób przypominający styl komponentu Angular 2, ale z kontrolerami i dyrektywami zamiast klasami TypeScript.

Old School Angular 1.x Angular 1.x Best Practices Transitional Architecture Angular 2
Zagnieżdżone obszary ($scope, watches) Używane ciężko Unikanie Unikanie Usunięto
Dyrektywy a kontrolery Używane jako alternatywa Używane razem Dyrektywy jako komponenti Dyrektywy dotyczące komponentów
Implementacja kontrolera i usługi Funkcje Funkcje Klasy ES6 Klasy ES6
System modułów Moduły Angulara Moduły Angulara Moduły ES6 Moduły ES6
Wymagany transpilator Nie Nie TypeScript TypeScript