Co nowego?
Mniejszy i szybszy tak można określić nowego angulara z tym, że autorzy podkreślają, że to jeszcze nie koniec. w nadchodzących miesiącach możemy spodziewać się kolejnej nowości, bądź poprawki.
Główna zmiana w nowym angularze zaszła w kompilatorze AOT(Ahead-of-time). Rewolucję spowodowały, że rozmiar kodu który jest generowany przez nasze komponenty zmalał do około 60% w większości przypadkach, według autorów im bardziej skomplikowany szablon stworzymy, tym większa oszczędność u nas zawita. Trochę zawiało mistrzem Yodą 🙂
Nowe dodatki
Udoskonalono przede wszystkim *ngIf taka składnia szablonu pozwala na obsługę kilku przydatnych zmian. Teraz możemy używać najbardziej powszechnej instrukcji warunkowej takiej jak if/else.
Poniżej przykład z wcześniejszej wersji angulara.
<p *ngIf="isAuth">Jesteś zalogowany jako aut.imie</p>
Co jeśli użytkownik nie jest zalogowany? albo oczekujemy aż żądanie logowania zakończy się sukcesem? W angularze v4 (RC – Release Candidate), możemy dodać kolejny element do instrukcji warunkowej if, czyli else.
Teraz nasze zapytanie angularowe wygląda następująco:
<element *ngIf="[warunek]; else [szablon]">
</element>
Przykład:
<ng-template #hidden>
<p>Nie masz tutaj dostępu</p>
</ng-template>
<p *ngIf="shown; else hidden">
Tutaj masz dostęp
</p>
Kompatybilność TypeScript 2.1 i 2.2
Angular zaktualizował TypeScript z wersji 2.1 na niedawną wersję 2.2. Taka zmiana udoskonala szybkość ngc oraz daje lepszą kontrolę w aplikacji.
Głównym celem Angulara 4 było stworzenie kompatybilności z TypeScryptem, co pozwala na bardziej restrykcyjne pisanie kodu gdzie mamy już typy.
Instalacja
Angular 4 od teraz jest w RC(Release Candidate) co oznacza, że możemy użyć go do swojego projektu, nie przejmując się, że nastaną jakieś zmiany w frameworku które mogłyby spowodować pełno bugów w naszej aplikacji.
Aby zainstalować należy wydać komende w BASH’u:
npm install @angular/{common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router,animations}@next –save
Instalacja wymaga aktualizacji TypeScript.
FESM (Flattened ECMAScript Module )
Ta nowość różni się od poprzednich tyle, że nie zauważymy jej w kodzie. Ogólnie wersje modułu w formacie ECMAScript będą „odchudzone”. Taki format pomoże wygenerować mniejszy rozmiar modułu dzięki czemu będzie on działać szybciej np. pewne scenariusze w przeglądarce będą działać sprawniej. Oznacza to, że nastąpi duży wpływ na wydajność, aplikacje w angular v4 będą ładować dane zdecydowanie szybciej niż poprzednie wersje.
Nowa wersja jest kompatybilna z poprzednią czyli Angularem 2.x.x dla większości aplikacji.
Co dalej
zespół informuje, że przez najbliższe 6 miesięcy będzie dążyć do zmniejszenia i przyśpieszania angulara.