Angular 9 - Oto 6 najciekawszych nowości 👊

Dzisiaj dowiemy się co nowego przyniósł Angular 9, a do tego celu wybrałem sześć najciekawszych (moim zdaniem) zagadnień. Zdecydowanie warto je przynajmniej przejrzeć, ponieważ niezastosowanie się na przykład do takiego punktu 3. może przynieść przykre konsekwencje. 🙂

PS. Ten wpis jest częścią darmowej serii Akademia Angulara. Jeżeli chcesz dołączyć do naszej kilkusetosobowej społeczności, mieć kontakt ze mną i regularnie dostarczane wartościowe materiały – zapisz się na AkademiaAngulara.pl. Specjalnie dla tej społeczności napisałem ten artykuł.

Czerpałem informacje z bloga Angulara na Medium. Tymczasem, zaczynamy!

1. Zupełnie nowy kompilator: Ivy

Jest to na tyle ważna aktualizacja, że następne punkty będą z nim mocno powiązane. Do tej pory, a konkretnie w wersji numer 8. mieliśmy wybór, czy chcemy z niego już korzystać. W obecnej wersji Ivy jest domyślny, czy tego chcemy, czy nie. 🙂

2. AOT zamiast JIT

Różnica ta jest znaczna, ale dotyczy tylko trybu deweloperskiego.

Być może obiło Ci się o uszy coś takiego jak Just-In-Time Learning? Angular stosował coś takiego tylko, że nie w kontekście nauki, a kompilacji. 🙂 Kompilował konkretne elementy wtedy, kiedy było to potrzebne i miało to oczywiście swoje zalety – na przykład nie kompilowały się te partie, których nigdy nie wykorzystaliśmy. Zostało to jednak zmienione na AOT.

  • Ahead-Of-Time to nowy, domyślny sposób kompilacji deweloperskiej wersji w Angular 9, który powoduje, że wszystko kompiluje się naraz. - Aplikacja działa szybko jak na produkcji, bo cała „robota” zrobiona została na początku.

3. Zmiana w formularzach – już nie użyjesz ngForm

Albo użyjesz, ale tylko do pierwszej kompilacji. 🙂 Stara składnia tego elementu została zastąpiona nową, gdzie twórcy odeszli od pisowni typu camelCase. Nowy tag to js ng-form.

Więcej wycofanych elementów znajdziecie pod tym linkiem (klik).

4. TypeScript 3.7 wspierany! Niestety jeszcze nie 3.8 (edit 26.03 – już jest 3.8!)

Choć nie mamy jeszcze dostępnych nowości, jakie przyniósł TS 3.8 (mamy już te nowości! – w tym oczekiwane przeze mnie ECMAScript Private Fields) to zyskujemy szereg ciekawych usprawnień. Lista zmian stojących za TS 3.7 jest długa, większość przyda się wprawdzie tylko językowym geekom, ale warto się z nią zapoznać.

Link: Oficjalny changelog (klik)

5. Więcej sprawdzania typów, według bardziej surowych reguł

Angular pozwala teraz sprawdzać typy w bardziej surowy sposób, co pozwoli na uniknięcie błędów podczas wczesnej fazy rozwoju. Tak, jak jest napisane na oficjalnym blogu, dodatkowa kontrola typu opiera się na dwóch flagach:

  • fullTemplateTypeCheck – Jak sama nazwa wskazuje, ta flaga aktywuje sprawdzanie wszystkiego, co znajduje się w danym szablonie – np. wewnątrz ngFor, ngIf czy ng-template.

  • strictTemplates – Z nazwy niewielka różnica, natomiast aktywacja tej flagi spowoduje zastosowanie najsurowszych reguł do sprawdzania typów.

Po szczegóły odsyłam do dokumentacji.

6. Nowy (czytelniejszy) wygląd komunikatów o błędach

W „ósemce” był pojedynczy blok czerwonego tekstu, z nie do końca jasnym wskazaniem miejsca błędu. Obecnie temat jest nieco inny – jest czytelny, bardziej rozłożony na pliki. Twórcy na pewno korzystali ze sposobów, jak komunikują o błędach najnowsze CLI (Command-Line Interface).

Naucz się Angulara od podstaw

Naucz się programować
w Angularze od zera.

Techporadnik © 2021
IDM Przemysław Kosior • NIP: 7792508107