Spis treści:
Ludzie coraz częściej i chętniej korzystają z urządzeń mobilnych. Na ten moment stosunek użycia rozwiązań mobile do urządzeń stacjonarnych jest bardzo zbliżony. Jednak z miesiąca na miesiąc ta zależność ulega zmianie. Użytkownicy, decydując się na jakieś aplikacje, kierują się przede wszystkim trzema zasadami: niezawodność, szybkość i zaangażowanie.
Mając na uwadze oczekiwania użytkowników, powstało rozwiązanie — Progressive Web Apps, pozwalające na zainstalowanie aplikacji webowej na smartfonie bez konieczności korzystania ze sklepu. Początkowo nazwą progresywnej aplikacji webowej określono stronę internetową, wykorzystującą takie rozwiązania jak Service Worker czy Web App Manifest [1].
Technologia Progressive Web Apps umożliwia zapisywanie w pamięci urządzenia mobilnego stronę, co umożliwia rozszerzenie jej funkcji, a oprócz tego przyspiesza jej działanie. To rozwiązanie posiada wiele korzyści. Przede wszystkim mówi się o progresywności, responsywności, niezależności połączenia, bezpieczeństwie czy zwiększeniu zaangażowania użytkowników. Takie rozwiązanie może pozytywnie wpłynąć na wzrost odwiedzających daną witrynę, wzrost współczynnika konwersji czy dłuższy czas przebywania użytkowników na stronie.
Jeśli chcemy, aby Progressive Web Apps działał poprawnie, musimy uwzględnić zalecenia Google. Oto najważniejsze z nich:
Ciekawą i przydatną rzeczą jest także narzędzie do pobierania i renderowania witryny po stronie serwera (bądź stosując rozwiązanie hybrydowe – część po stronie serwera, część po stronie użytkownika), które udostępnia Google Search Console [2].
{
“short_name”: “”,
“name”: “”,
“icons”: [
{
“src”: “”,
“sizes”: “144×144”,
“type”: “image/png”
},
{
“src”: “”,
“sizes”: “192×192”,
“type”: “image/png”
}
],
“start_url”: “/?utm_source=homescreen”,
“background_color”: “”,
“theme_color”: “”,
“display”: “fullscreen”
}
W momencie, gdy plik zostanie utworzony, należy wskazać ścieżki w pliku /index.html, poprzez jej aktualizację do manifestu.
<link rel=“manifest” href=“/manifest.json”/>
const CACHE_NAME = ‘wpisz-tutaj-dowolny-string’;
// List of files which are store in cache.
let filesToCache = [
‘/’,
‘/styles/main.css’,
‘/images/logo.png’,
‘/scripts/main.js’
];
self.addEventListener(‘install‘, function (evt) {
evt.waitUntil(
caches.open(CACHE_NAME).then(function (cache) {
return cache.addAll(filesToCache);
}).catch(function (err) {
// Snooze errors…
// console.error(err);
})
);
});
self.addEventListener(‘fetch’, function (evt) {
// Snooze logs…
// console.log(event.request.url);
evt.respondWith(
// Firstly, send request..
fetch(evt.request).catch(function () {
// When request failed, return file from cache…
return caches.match(evt.request);
})
);
});
Zalecane jest dodanie pliku /index.html do głównego pliku, który będzie w cache-u. Po tym działaniu powinien uruchomić się Service Worker.
<script>
const PATH = ‘/service-worker.js‘;
let isServiceWorkersSupport = (‘serviceWorker’ in navigator);
if (isServiceWorkersSupport) {
console.log(‘Will service worker register?‘);
navigator.serviceWorker.register(PATH).then(function () {
console.log(“Yes it did.”);
}).catch(function (err) {
console.log(“No it didn’t. This happened: “, err)
});
}
</script>
Taki wynik można uzyskać po wykonaniu kilku zadań. Zacznij od zmiany koloru górnego paska z adresem strony, poprzez definicję tego parametru:
<meta name=“theme-color” content=“color”/>
Kolejnym elementem, na który warto zwrócić uwagę jest kontrast pomiędzy kolorem tła a kolorem tekstu. Lighthouse zakłada, że powinien być on większy od przyjętej normy – 4.5. Ostatnią rzeczą jest ładowanie skryptów. Wykorzystując atrybut async w tagu <script>, podczas ładowania strony nie blokuje się layout witryny. Po ustawieniu tych wszystkich elementów strona domowa jest w 100% PWA.[3]
Technologia Progressive Web Apps niesie za sobą wiele korzyści zarówno dla właściciela witryny, jak i jej użytkowników. Korzystanie z tego rozwiązania, może wpłynąć pozytywnie na konwersję i utrzymywać odwiedzających stronę w bliższej interakcji z serwerem.
[1] Dariusz Wrzesień, Progressive Web Apps – wprowadzenie do aplikacji progresywnych, „DEV:ENV”, 09.01.2018 [dostęp: 05.06.2018], <http://devenv.pl/progressive-web-apps/>
[2] Maciej Dobkowicz, Strony jak aplikacje? Poznaj Progressive Web Apps (PWA) i zoptymalizuj pod SEO „SEMTEC”, 24.05.2018 [dostęp: 05.06.2018], <https://www.semtec.pl/progressive-web-apps-pwa-optymalizacja-seo/?utm_source=rss&utm_medium=rss&utm_campaign=rss>
[3] Piotr Kowalski, Jak przerobić stronę na Progressive Web App?, „Piotr Kowalski Blog”, 07.05.2017 [dostęp: 12.06.2018], < https://piecioshka.pl/blog/2017/05/07/jak-przerobic-strone-na-pwa.html>
Rocket Media Sp. z o.o.
ul. Januszowicka 5
53-135 Wrocław
KRS: 0000490521
NIP: 8943050211