Angular 8
Punktem wyjścia dla naszej nowej serii artykułów są 4 poprzednie wpisy dotyczące Angulara. Przedstawiają one "ogólny obraz" technologii, jej zastowaniania oraz możliwości architektoniczne. Teraz przejdziemy już do szczegółowych wpisów – nie oznacza to, iż będą one skomplikowane. Poradnik ten został przygotowany dla osób całkowicie początkujących przez osobę, która wcześniej miała styczność z innymi narzędziami do tworzenia front-endu.
Jeżeli dopiero pojawiliście się na blogu zapraszam do zapoznania się z poprzednimi artykułami z tego cyklu:
Angular jest obecnie najpopularniejszą platformą do tworzenia dynamicznych aplikacji internetowych. Platforma jest udostępniona na zasadzie open-source, została napisana na bazie TypeScript, który jest kompilowany do JavaScript. Wszystkie wpisy będą bazowały na wersji 8-smej tej platformy.
Poprzednie wersje Angulara
Przed rozpoczęciem pracy warto również nieco spojrzeć w przeszłość. Dzięki temu możemy się dowiedzieć jakie zmiany zostały wprowadzone, jakie błędy wyeliminowane oraz jakie udogodnienia zostały wprowadzone na przelomie kilku lat:
-
AngularJS (znany również jako Angular 1.0) został oparty na JavaScript, udostępniony jako darmowo platforma opracowana i wspierana przez Google. AngularJS może zostać dodany do strony HTML przy użyciu taga script. Został wydany 20 października 2010 roku przez zespoł Google;
-
Angular 2 to kompletnie nowa wersja frameworka. Został przepisany, premiera miała miejsce w maju 2016 jednak na ostateczną wersję czekaliśmy do 14 września 2016 roku;
- Angular 4 stanowił uaktualnienie poprzedniej wersji. Zespół Google zdecydował się na pominięcie wersji 3 z powodu rozbieżności wersjonowania jednego z pakietów (router package), który był już wcześniej udostępniony jako v3.3.0;
-
Angular 5 to kolejne ulepszenia wprowadzone do poprzedniego wydania. Pojawił się 1 listopada 2017 i poprawił m.in. wsparcie dla progresywnych aplikacji internetowych;
- Angular 6 pojawił się 4 maja 2018 roku. Wersja ta skupiła się głównie na elementach ng update, ng add, Angular Elements, Angular Material + CDK Compontents, Angular Material Starter Components, CLI Workspaces, Library Support, Tree Shakable Providers, Animations Performance Improvements oraz RxJS V6;
-
Angular 7 został wydany 18 października 2018 roku. Skupiał się na poprawieniu wydajności aplikacji, Virtual Scrolling oraz na tzw. Accessibility - pod tym pojęciem kryje się przystosowanie aplikacji do użycia przez osoby niepełnosprawne lub z różnymi ograniczeniami;
-
Angular 8 jest (w momencie publikacji) najnowszą wersją platformy. Wersja ta ukazała się 28 maja 2019 roku. Obsługuje TypeScript 3.4, pozwala na automatycznie ładowanie JavaScript (i jej zależności) w zależności od wersji naszej aplikacji (nowoczesna lub przestarzała – jednocześnie wciąż wspierana na starszych wersjach przeglądarki) oraz poprawia mechanizm Web Workers, który umożliwia uruchomienie skomplikowanych obliczeń w osobnym wątku (w tle) pozostawiając główny wątek odpowiedzialny za aktualizację interfejsu użytkownika;
Słowniczek pojęć:
-
progresywne aplikacje internetowe (PWA) – w bardzo dużym skrócie to witryny internetowe, które bardziej przypominają natywne wersje aplikacji. Mimo działania w przeglądarce możemy korzystywać z natywnych funkcji, takich jak kamera, geolokalizacja czy powiadomienia push.
-
ng update - polecenie pozwalające na aktualizację aplikacji i wszelkich zaleźności. Samo ng to nic innego jak skrót od aNGular.
-
ng add - pozwala na dodanie obsługi zewnętrznej biblioteki w naszym projekcie.
-
Angular Elements - są to tzw. elementy niestandarowe szerzej znane jako Web Components. Pozwalają one na rozszerzenie HTML poprzez dodanie dodatkowych znaczników, które mogą być kontrolowane przez kod JavaScript.
-
Angular Material + CDK Compontents jest to samodzielny pakiet, którego celem jest dostarczenie narzędzi dla programistów pozwalających na tworzenie niesamowitych komponentów dla naszych aplikacji internetowych.
-
Angular Material Starter Components - jest to zbiór komponentów, które możemy znaleźć pod adresem Angular Material Components
-
Angular CLI Workspaces - pozwalają programistom na utworzenie więcej niż jednego projektu we wspólnej przestrzeni.
-
Tree Shakable Providers - jest to proces, który usuwa nieużywany kod z naszej aplikacji.
-
RxJS V6 - jest biblioteką pozwalającą na tworzenie aplikacji asynchronicznych oraz opartych na zdarzeniach przy wykorzystaniu tak zwanych Observables.
-
Virtual Scrolling - pozwala na wyświetlanie ogromnych ilości danych renderując przy tym tylko te, które mieszczą się na ekranie. Takie podejście wpływa na wydajność przeglądarki i szybkość otwierania naszej aplikacji.