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 |