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.

Czym są dynamiczne aplikacje internetowe?

Dynamicznymi aplikacjami internetowymi nazywamy aplikację, które mają tendencję do zmiany danych lub/i informacji bazując na 3 poniższych parametrach:

  • ’od czasu do czasu’ – aplikacje zarządzające aktualnymi wiadomościami;
  • ’z miejsca na miejsce’ – aplikacje pozwalające na dostęp do raportów pogodowych;
  • ’relacja użytkownik - użytkownik’ – aplikacje takie jak facebook oraz gmail.
Są to oczywiście jedynie przykłady, których możemy spotkać w Internecie całe mnóstwo.

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.