Kandydat do wydania Angular 10 – rc już dostępny
Wersja Angular 10 – rc – kandydat do wydania jest już dostępna. W kwietniu ogłoszono nową wersję Angular 10 beta. Dzisiaj możemy cieszyć się kandydatami do wydania ostatecznej wersji.
Zespół Angular stara się co roku publikować dwie wersje frameworka. Jest to potrzebne do właściwej synchronizacji z całym środowiskiem JavaScript. Docelowa data wydania produkcyjnej wersji Angular 10 nie została jeszcze opublikowana, jednak wiadomo, że jesienią pojawi się kolejne wydanie frameworka, w wersji 11.
Zmiany w Angular 10 – kandydat do wydania
Przede wszystkim Angular będzie mniejszy od poprzednich wersji. Jest to związane z tym, że poprzednią wersję Angular 9 wydano zaledwie 4 miesiące temu. Zmiany obejmują całą platformę, interfejs CLI oraz Angular Material. W większości dotyczą ekosystemu niż nowych funkcji frameworka.
Selektor zakresu dat
Jedną z nowych funkcji w Angular Material jest selektor zakresu dat. Aby użytkownicy wybrali zakres dat, zamiast jednej, można użyć komponentów mat-date-range-input i mat-date-range-picker.
Działają one podobnie do podstawowego wejścia datepicker – mat-datepicker. W komponencie należy jednak zdefiniować dwie daty input – początkową i końcową.
<mat-date-range-input> <input matStartDate placeholder="Start date"> <input matEndDate placeholder="End date"> </mat-date-range-input>
Środowisko Angular 10
Przełomową zmianą jest usunięcie wsparcia dla TypeScript 3.8, a także dla wcześniejszych wersji. Dostępna jest teraz wersja TypeScript 3.9. Ponadto TSLib zaktualizowano do wersji 2.0, a TSLint do wersji 6.
Obowiązkowa jest teraz także nazwa ogólna ModuleWithProviders. Aby ten wzorzec działał prawidłowo z kompilacją i renderowaniem Ivy, był wymagany parametr typu ogólnego. Są teraz dwa przypadki:
- Programista korzysta modułu ModuleWithProviders bez typu ogólnego – przejście do wersji Angular 10 zaktualizuje kod.
- Programista korzysta z mechanizmu View Engine (w zależności od biblioteki pomijającej typ ogólny) – wygeneruje się błąd kompilacji.
Godna uwagi jest także zmiana w resolverze – każdy z nich, który zwróci EMPTY, anuluje nawigację. Aby ją kontynuować należy zaktualizować programy tłumaczące, aktualizujące wartość, np. default!Empty.
Kolejną ważną zmianą jest rejestrowania ostrzeżeń nieznanych elementach jako błędy. Prawdopodobnie nie powoduje to awarii aplikacji, jednak może uruchomić narzędzia oczekujące na rejestrację za pośrednictwem pliku console.error.
Poprawa wydajności
Przede wszystkim ulepszenia wydajności wprowadzono w kompilatorze CLI. Usunięto także autouzupełnianie z HTML, np. &, ze względu na wątpliwą wartość. W celu poprawienia wydajności spowolniono obliczenia basePaths. Praca jest teraz wykonywana tylko w razie potrzeby przez TargetedEntryPointFinder. Poprzednio basePaths obliczano za każdym razem, kiedy instancja znalazła się w instancji. Było to stratą, jeśli docelowy punkt wejścia został już przetworzony.
Kandydat do wydania – skąd pobrać?
Wstępne wersje frameworka można znaleźć na oficjalnym GitHubie. Drugą opcją jest wejście na stronę update.angular.io, gdzie znajdziemy szczegółowe informacje i wskazówki.
Źródła:
- https://blog.angular.io/version-10-of-angular-now-available-78960babd41
- https://www.infoworld.com/article/3537449/whats-new-in-angular-10.html