Aplicație web progresivă

O aplicație web progresivă (PWA) este un tip de aplicație web care poate fi instalată pe un dispozitiv ca aplicație independentă. PWA-urile au fost introduse începând cu 2016 ca alternativă la aplicațiile native (specifice fiecărui dispozitiv), având avantajul că nu necesită pachete sau distribuție separate pentru diferite platforme.[1]
PWA-urile sunt instalate folosind cache-ul offline al navigatorului web al dispozitivului. Ele pot fi utilizate pe o varietate de sisteme, inclusiv desktop și dispozitive mobile. Publicarea aplicației pe platforme de distribuție digitală, precum Apple App Store, Google Play sau Microsoft Store pentru Windows, este opțională.[1]
Deoarece un PWA este livrat sub forma unei pagini web sau a unui site web construit cu tehnologii web standard, inclusiv HTML, CSS, JavaScript și WebAssembly, acesta poate funcționa pe orice platformă care suportă un browser compatibil cu PWA. În 2025, funcționalitățile PWA sunt suportate în grade diferite de Google Chrome, Apple Safari, Brave, Firefox pentru Android și Microsoft Edge, dar nu și de Firefox pentru desktop.[2][3]
Caracteristici
[modificare | modificare sursă]Aplicațiile web progresive sunt concepute pentru a funcționa pe orice browser compatibil cu standardele web corespunzătoare. Ca și alte soluții multiplatformă, scopul este de a ajuta dezvoltatorii să creeze aplicații multiplatformă mai ușor decât ar face-o cu aplicațiile native. Aplicațiile web progresive folosesc strategia de dezvoltare web de tip îmbunătățire progresivă.[4]
Unele aplicații web progresive folosesc o abordare arhitecturală numită modelul de shell al aplicației (în engleză App Shell Model). În acest model, service worker-ii stochează interfața de utilizator de bază sau „shell-ul” aplicației web de design web responsiv în memoria cache offline a browserului. Acest lucru poate îmbunătăți timpul de încărcare, prin furnizarea unui cadru static inițial, a unei structuri sau a unei arhitecturi în care conținutul poate fi încărcat progresiv, precum și dinamic.[3][5]
Criterii tehnice
[modificare | modificare sursă]Criteriile tehnice de bază pentru ca un site să fie considerat aplicație web progresivă și să poată fi instalat de browsere au fost descrise în 2016 și au fost actualizate ulterior:[6][7][8]
- Aplicația trebuie să provină de la o sursă securizată. Să fie folosită prin TLS și să nu aibă conținut mixt activ. Aplicațiile web progresive trebuie să fie folosite prin HTTPS pentru a asigura confidențialitatea, securitatea și autenticitatea conținutului utilizatorilor.
- Înregistrarea unui service worker cu un manipulator pentru preluarea datelor. Aplicațiile web progresive trebuie să utilizeze service workers (română lucrători de serviciu) pentru a crea cache-uri de conținut programabile. Spre deosebire de cache-ul web HTTP obișnuit, care stochează conținut după prima utilizare și se bazează pe diverse euristici pentru a estima când conținutul nu mai este necesar, cache-urile programabile pot preîncărca explicit conținut înainte de prima utilizare și îl pot șterge explicit când nu mai este necesar. Această cerință ajută paginile să fie accesibile offline sau în rețele de calitate slabă.
- Referirea unui manifest de aplicație web. Manifestul trebuie să conțină cel puțin cinci proprietăți esențiale: name sau short_name, start_url, display (cu o valoare standalone, fullscreen sau minimal-ui) și icons (cu versiuni de 192 px și 512 px). Informațiile din manifest fac ca aplicațiile PWA să fie ușor de distribuit printr-un URL, descoperibile de motoarele de căutare și simplifică procedurile complexe de instalare (dar aplicațiile PWA pot fi totuși listate într-un magazin de aplicații terț). În plus, aplicațiile PWA suportă interacțiuni și navigare similare aplicațiilor native, inclusiv adăugarea pe ecranul de pornire, afișarea ecranelor de încărcare etc.
Note
[modificare | modificare sursă]- 1 2 „Progressive Web Apps | Software AG”. techradar. Arhivat din original la . Accesat în .
- ↑ Newman, Jared (). „Firefox just walked away from a key piece of the open web”. Fast Company (în engleză). Accesat în .
- 1 2 Ltd, Cybellium. Mastering Front-end development (în engleză). Cybellium Ltd. p. 273. ISBN 979-8-8668-4882-9.
- ↑ Evans, Jonny (). „Apple goes back to the future with web apps”. Computerworld.
- ↑ Osmani, Addi. „The App Shell Model | Web Fundamentals”. Google Developers.
- ↑ „What does it take to be installable?”. web.dev.
- ↑ „Progressive Web App”. web.dev.
- ↑ Russell, Alex. „What, Exactly, Makes a Progressive Web App”.