Questo articolo è disponibile in inglese sul nostro canale Medium.
Viviamo in un mondo sempre più veloce, dinamico, in continuo cambiamento. Le innovazioni incrementali che hanno impatto sulle persone si susseguono, con una focalizzazione sempre più evidente su:
È in questa direzione, puntando soprattutto su performance e User Experience per l’utente finale, che va lo sviluppo delle Progressive Web App (PWA), soluzione che vuole unire il meglio delle app native e della tecnologia Web.
Una Progressive Web App (PWA) è un’app che utilizza le moderne funzionalità Web per offrire agli utenti un’esperienza molto simile (se non migliore) a un’app nativa.
Diversamente dalle app tradizionali, le progressive web app sono un ibrido tra le normali pagine web e le applicazioni mobili. Il termine “progressive” si riferisce al fatto che introducono nuove feature e dal punto di vista dell’esperienza utente inizialmente sono percepite come normali siti web ma progressivamente si comportano sempre più come app mobili, tra l’altro multipiattaforma.
Le caratteristiche principali sono:
I punti deboli sono riferiti a:
Le nuove funzionalità dei browser moderni che consentono alle PWA di offrire il meglio sono il “manifest” e i “service workers”.
È un semplice file JSON che definisce i parametri fondamentali delle PWA, per controllare come l’app dovrebbe apparire all’utente e definire il suo aspetto al momento del lancio: icone, altre caratteristiche di base come colori, caratteri, orientamento dello schermo e la possibilità di essere installata sulla home screen.
Credits: SessionStack
Sono la vera chiave per le esperienze avanzate che una PWA può offrire. Un service worker è uno script che il browser esegue in background, separato da una pagina web, per utilizzare funzioni che non richiedono una pagina web o un’interazione da parte dell’utente.
Oggi i SW includono già funzioni quali le notifiche push e la sincronizzazione in background. In futuro supporteranno funzioni quali la sincronizzazione periodica o il geofencing. La funzione principale è la capacità di intercettare e gestire le richieste di rete, compresa la gestione programmatica di una cache delle risposte. Si tratta di un’API che consente di supportare esperienze offline offrendo agli sviluppatori il controllo completo dell’esperienza.
Con l’aggiunta del supporto ai service workers nell’ultima versione di iOS, Apple ha aperto la porta alle PWA per raggiungere, a tutti gli effetti, l’intero mercato mobile.
Esistono diverse tecnologie per la creazione delle Progressive Web App, principalmente basate su JavaScript, con diverse caratteristiche.
Tra le principali abbiamo:
React
Una potente libreria JavaScript per costruire interfacce utente dinamiche e moderne
Una combinazione di componenti, strumenti e modelli pensata per la creazione di PWA
Un framework JavaScript per la creazione di applicazioni web dinamiche che utilizza l’HTML come linguaggio modello
Un framework JavaScript per la creazione di potenti applicazioni per piattaforme multiple utilizzando un codice base
Accelerated Mobile Pages (AMP)
Un progetto open source per migliorare le prestazioni delle pagine web
Arriva il momento della scelta, quale soluzione adottare?
È preferibile scegliere lo sviluppo di una PWA quando:
Al contrario, è preferibile sviluppare un’app nativa quando:
Il processo generale di installazione delle app native segue questo flusso:
Nel confronto, l’installazione delle PWA prevede:
Sono già molti gli esempi di PWA “illustri” che gli utenti utilizzano sui propri device e tra i principali segnaliamo:
Per approfondire:
Addy Osmani on Medium > A Pinterest Progressive Web App Performance Case Study.
La PWA attuale è molto simile all’app nativa e presenta tutte le principali funzionalità di interazione, dalle notifiche alla possibilità di visualizzare le Storie.
Per approfondire:
The Next Web > Google’s lightweight Maps Go is just a Progressive Web App.
Per approfondire:
Addy Osmani on Medium > A Tinder Progressive Web App Performance Case Study.
Per approfondire:
Twitter Blog > How we built Twitter Lite
Google Developers > Twitter Lite PWA Significantly Increases Engagement and Reduces Data Usage
Paul Armstrong on Medium > Twitter Lite and High Performance React Progressive Web Apps at Scale
La scelta di utilizzare le PWA è principalmente per bypassare il limite che Apple e Google pongono sui contenuti pornografici all’interno degli store, oltre che per garantire un’esperienza migliore agli utenti.
Per approfondire:
YouPorn Blog > YouPorn App Experience
VentureBeat > YouPorn goes progressive with new mobile web apps for Android and iOS
Alcune referenze per approfondire il tema delle Progressive Web App
Google Progressive Web App > https://developers.google.com/web/progressive-web-apps/
Google PWA Checklist > https://developers.google.com/web/progressive-web-apps/checklist
Appscope, directory for Progressive Web Apps (PWAs) > https://appsco.pe/
La risposta è, come sempre, dipende. La decisione di sviluppare una PWA segue analisi e riflessioni che vanno fatte di volta in volta, da progetto a progetto, da utente a utente. Anzi potremmo aggiungere una complessità ulteriore, ovvero quella del posizionamento sul motore di ricerca: abbiamo gestito tutto correttamente oppure stiamo cannibalizzando il traffico del nostro sito web?
I fattori che portano alla scelta sono molteplici, come anticipato in questo approfondimento, quindi non c’è una ricetta definita e standard ma quella che dato il contesto si abbina correttamente a strategia e obiettivi. Parliamone insieme.
***
Se sei interessato ad una consulenza in ambito PWA, contattaci per valutare le potenzialità e le opportunità per il tuo business.