Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


06.12.2018

Niższe moce

UPS Eaton 9SX
03.12.2018

Monitory dla MŚP

AOC E1
29.11.2018

Wykrycie szkodliwego...

Sophos Intercept X Advanced
27.11.2018

Automatyzacja zabezpieczeń

Red Hat Ansible Automation
23.11.2018

Nieograniczona skalowalność

SUSE Enterprise Storage 5.5
20.11.2018

Dwa procesory Threadripper

AMD Ryzen Threadripper 2970WX i 2920X
16.11.2018

Dla biznesu i edukacji

Optoma 330USTN
13.11.2018

Superszybki dysk SSD

Patriot Evolver
09.11.2018

Ograniczenie kosztów

Canon imageRUNNER ADVANCE 525/615/715

PWA – progresywne aplikacje internetowe

Data publikacji: 19-02-2018 Autor: Grzegorz Kubera

Deweloperzy coraz częściej wybierają rozwijanie aplikacji progresywnych, nie zaś mobilnych. Nie tylko uruchamiają się one bezpośrednio w przeglądarce, bez konieczności pobierania ze sklepów, ale też są superszybkie i bezpieczne. Tłumaczymy, dlaczego warto rozpocząć prace nad aplikacjami PWA.

PWA, czyli progressive web apps (progresywne aplikacje internetowe) to zdecydowanie bardziej ewolucja niż rewolucja w branży technologicznej. Zmiany, jakie wprowadzają PWA, są jednak istotne, ponieważ przenoszą tradycyjne strony online na wyższy poziom – zapewniają lepszą satysfakcję użytkownikom i sprawiają, że nominalne (native) aplikacje mobilne stają się zbędne. PWA nie wymyślają koła na nowo, a ich najprostsza definicja brzmi następująco: „progresywna aplikacja internetowa to strona WWW, która przypomina w działaniu aplikację mobilną”. Projekty PWA mają zapewniać możliwie najlepsze doświadczenia użytkownikom różnych platform (czyli nie powinno mieć znaczenia, na jakim systemie uruchamiamy aplikację), a jednocześnie nie trzeba ich instalować ani pobierać ze sklepu – wystarczy wpisać adres URL w przeglądarce.

W praktyce aplikacja PWA to po prostu kolejna karta w przeglądarce, choć możemy dodać skrót na ekranie głównym urządzenia i wtedy zyskujemy nieco szybszy dostęp, podobnie jak ma to miejsce w przypadku aplikacji mobilnych. Samo działanie PWA jest bardzo płynne: można odnieść wrażenie, jakby aplikacja działała bezpośrednio z dysku czy pamięci (lokalnie, jak zainstalowana aplikacja mobilna), nie zaś jak strona internetowa, która wykorzystuje łącze online. W tym miejscu warto wspomnieć, że PWA działają także w trybie offline (patrz ramka obok).

> BUDOWA APLIKACJI PROGRESYWNYCH

Niektórzy mylą aplikacje PWA z mobilnymi aplikacjami hybrydowymi, które opierają się na takich technologiach jak: Cordova, React Native, NativeScript, Electron czy NW.js. W rzeczywistości jest duża różnica pomiędzy PWA a hybrydami – choćby sam fakt, że hybrydy trzeba pobrać ze sklepu z aplikacjami i zainstalować lokalnie na danym urządzeniu, podczas gdy PWA wczytują się bezpośrednio w przeglądarce. PWA mają też stosunkowo prostą strukturę, która składa się z powłoki (app shell) i zmieniającej się zawartości (content).

Powłoka aplikacji PWA to nic innego jak kod HTML, CSS i JavaScript, który tworzy jej interfejs obsługi. Interfejs jest statyczną częścią aplikacji, natomiast może wyświetlać dynamicznie zmieniające się treści. Co więcej, powłoka jest zapisywana w pamięci podręcznej (cache), przez co wczytuje się wręcz natychmiast. Zawartość, czyli content, to z kolei część w pełni dynamiczna – zmienia się i odświeża za każdym razem, gdy ustanawiane jest połączenie z internetem. Czyli jeśli np. mamy serwis informacyjny i opublikujemy nowy artykuł, będzie on możliwy do przeczytania dopiero, gdy użytkownik nawiąże łączność z internetem. Popularne serwisy oparte na PWA to theonion.com czy washingtonpost.com.

W aplikacjach PWA pojawia się jeszcze jedna technologia, która pozwala zdefiniować je jako PWA – jej nazwa to service worker. To plik JavaScript, który działa w tle i odpowiada za funkcjonalność offlinową poprzez buforowanie treści w określonych odstępach czasowych. Dodatkowo jest jeszcze app manifest, czyli prosty plik JSON, który pomaga urządzeniom w rozpoznaniu, że wyświetlają właśnie aplikację PWA, i określa, jak powinna być ona prezentowana na danym ekranie.

Google przygotował szereg zaleceń, które powinni spełniać autorzy aplikacji PWA – pełną listę wraz z poradami można znaleźć na stronie: tinyurl.com/frst-PWA). Najważniejszą wytyczną jest, że aplikacje progresywne powinny działać na dowolnym urządzeniu, niezależnie od przeglądarki internetowej. Jeśli przeglądarka nie będzie obsługiwać danej technologii, wówczas PWA powinna być dostępna jako prosta strona WWW, niemniej wciąż powinna działać. Dodatkowo PWA muszą być responsywne i bezpieczne (protokół HTTPS).

> KORZYŚCI ZE STOSOWANIA PWA

Powodów, dla których warto zdecydować się na PWA i rozwijać nowe projekty właśnie w tej technologii, jest co najmniej kilka. Jednym z nich jest fakt, że PWA nie zajmują miejsca na dysku – lokalnie na komputerze czy w pamięci smartfona. Podobnie jak strony WWW, są one hostowane na serwerach. Użytkownicy mogą dodawać aplikacje na ekrany główne urządzeń, ale są to bardziej swojego rodzaju skróty, których nie trzeba instalować, a także aktualizować.

Niektórzy deweloperzy mogą uznać, że wolą aplikacje mobilne, ponieważ te mogą wyświetlać powiadomienia. PWA również oferują możliwość wyświetlania automatycznych powiadomień (push notification), zupełnie jak zwykłe aplikacje mobilne. Są jednak rzeczy, których PWA na razie nie oferują, a z których możemy zrobić użytek w aplikacjach mobilnych – są to odpowiednio: alarmy/budziki, brak lub mocno ograniczony dostęp do czujników sprzętowych, brak dostępu do książki adresowej/kontaktów w telefonie, brak możliwości modyfikowania ustawień systemowych. PWA ciągle są jednak rozwijane, więc z czasem te i inne funkcje zapewne się pojawią.

[...]

Założyciel i dyr. generalny firmy doradczo-technologicznej, pełnił funkcję redaktora naczelnego w magazynach i serwisach informacyjnych z branży ICT. Dziennikarz z ponad 10-letnim doświadczeniem i autor książki nt. tworzenia start-upów.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2013 Presscom / Miesięcznik "IT Professional"