Progressive Web App (PWA) è l’ultima parola d’ordine per i professionisti della tecnologia e della telefonia mobile, ma è più di un semplice gergo – e non è tutto solo pubblicità. Le PWA rappresentano un nuovo modello di applicazioni web. Queste applicazioni si caricano in modo simile a una normale pagina web, ma offrono funzionalità aggiuntive per i dispositivi nativi, come lavorare offline, servire le notifiche, attivare una fotocamera, ecc.

Progressive Web App (PWA, in italiano applicazioni web progressive) è un termine, coniato in origine da Google, che si riferisce ad applicazioni web che vengono sviluppate e caricate come normali pagine web, ma che si comportano in modo simile alle applicazioni native quando utilizzate su un dispositivo mobile.

Diversamente dalle applicazioni tradizionali, le progressive web apps sono un ibrido tra le normali pagine web (o siti web) e le applicazioni mobili. Questo modello di applicazioni cerca di combinare le possibilità offerte dalla maggior parte dei moderni browser con i benefici dell’utilizzo in mobilità.

Il termine Progressive si riferisce al fatto che, dal punto di vista dell’esperienza utente, queste applicazioni possono abilitare una serie di funzionalità aggiuntive alle normali pagine web a seconda delle funzionalità offerte dal dispositivo. Ad esempio il browser può proporre all’utente di salvarle nella schermata home del terminale mobile, per essere percepite a tutti gli effetti come delle app native.

Diverse aziende hanno riscontrato notevoli miglioramenti in diversi indicatori chiave di prestazione, come un aumento nel tempo speso nel sito o nelle conversioni dei nuovi utenti.

Per spiegare appieno cosa sono veramente i PWA, prima di tutto deve essere chiaro cosa non sono. Una breve storia dello sviluppo mobile illustrerà come sono nati i PWA.

APPLICAZIONI NATIVE

All’alba dello sviluppo mobile, le applicazioni mobili seguivano la funzionalità del dispositivo attraverso le applicazioni native. Le applicazioni native sono una vera e propria applicazione che utilizza il codice nativo della piattaforma. Ne sono un esempio un’applicazione iOS sviluppata con Objective-C o Swift, Android sviluppata con Java, ecc. Queste applicazioni utilizzano tutte le librerie native e l’SDK disponibili per la piattaforma ed eseguono con tutti i codici caricati/salvati direttamente sul dispositivo.

APPLICAZIONI IBRIDE

Con la crescita della popolarità del mobile, le aziende hanno tentato di unificare i loro codici, poiché lo sviluppo per più piattaforme è diventato costoso da avviare e mantenere. La tecnologia web stava crescendo e ha suscitato l’interesse delle aziende a risparmiare sui costi sviluppando una singola applicazione mobile utilizzando le tecnologie web e incorporandola in una vista web nativa per ogni piattaforma. Queste applicazioni sono state definite applicazioni mobili ibride, ovvero una pagina web caricata all’interno di una shell nativa. Queste vengono ancora eseguite come applicazioni native sul dispositivo e distribuite con gli stessi mezzi, ma il loro unico scopo al momento del lancio è quello di caricare una “cornice” web che carica un particolare sito web o un insieme di risorse web (HTML, Javascript, CSS, ecc.). Questo è diventato un vantaggio in quanto gli sviluppatori possono avere codice web comune e gestire/diffondere automaticamente all’interno di una shell su varie piattaforme.

APPLICAZIONI WEB PROGRESSIVE

Oggi, nell’era moderna, i PWA sono rigorosamente basati sul web. Operano su tecnologie moderne per creare un’esperienza nativa per l’utente, mentre sono guidate dal web. I PWA possono funzionare offline, avere le loro icone, caricare schermate e accedere all’hardware del dispositivo. Questo ha preso d’assalto il mondo mobile perché ha fatto cambiare il ragionamento alla base del precedente approccio “applicazione ibrida mobile” e ha costretto i siti web a progettare un’esperienza comune tra le piattaforme mantenendo bassi i costi. I PWA possono essere distribuiti esclusivamente sul web da un utente che aggiunge un sito web alla propria schermata iniziale, eliminando così la necessità di pubblicare un’applicazione nativa/ibrida sull’app store della piattaforma.

Ora che i PWA sono stati definiti, discutiamo la gamma di vantaggi che offrono con le loro pratiche e le loro implementazioni.

COSTO INFERIORE

Con i PWA i costi di sviluppo complessivo e di manutenzione di un sito sono notevolmente ridotti. Unendo l’esperienza tra desktop e mobile, le aziende non solo beneficiano di un’unica base di codice per i loro punti di contatto multipli, ma riducono i costi di sviluppo sia sviluppando e ospitando una singola esperienza ai loro servizi, piuttosto che avere il compito di supportare punti di contatto multipli (desktop, applicazione mobile, esperienza del browser).

SONO FACILMENTE TROVABILI

Poiché i PWA sono costruiti per il web, questa iniziativa consente una migliore diffusione nell’adozione da parte dei consumatori e una più ampia visibilità. Qualsiasi browser web con alcuni dei suddetti supporti per applicazioni web può eseguire un PWA, consentendo un unico punto per raggiungere gli utenti dell’applicazione.

Distribuzione conveniente

Inoltre, poiché i PWA sono distribuiti attraverso un semplice mezzo di URL di un sito web, questi possono essere condivisi in modo molto più conveniente rispetto alla menzione di un’applicazione nativa attraverso l’app store di un dispositivo dell’utente.

CAPACITÀ SEO

Il SEO è un aspetto importante del compito di ogni sviluppatore web nel creare un’applicazione web utilizzando i più recenti e grandi framework. Poiché il concetto di Single Page Applications (SPA) ha colpito il mercato dello sviluppo web, gli sviluppatori hanno il compito di elaborare strategie uniche per persistere negli stati delle loro applicazioni web e per garantire che tali stati possano essere rivisitati e condivisi in futuro. È qui che entra in gioco il concetto di routing. La pratica moderna delle web app nelle SPA è stata quella di aggiornare un URL in modo dinamico al cambio di stato dell’applicazione. Ciò può includere la navigazione su una pagina diversa, la ricerca di dati e la rivisitazione delle pagine precedentemente visitate. Lo sviluppo di PWA in una pratica SPA garantirà che gli utenti siano indirizzati a URL canonici SEO-friendly che possono essere rivisitati in un secondo momento, anche se l’applicazione servita è strettamente client side.

SICUREZZA

Anche la sicurezza dei browser si è sviluppata in modo significativo con l’aumento dei PWA. I sistemi che vengono invocati attraverso i PWA sono strettamente limitati ad eseguire solo su ambienti di sviluppo locale, e gli host serviti su SSL/HTTPS. Inoltre, i browser moderni limitano per default le richieste cross-origin (richieste fatte a un host che non è l’host di origine che ha servito l’applicazione web), per bloccare qualsiasi potenziale attività dannosa che può verificarsi durante le chiamate di servizio nell’applicazione web. Queste funzioni di sicurezza sono disponibili gratuitamente per gli sviluppatori che implementano i PWA e sottraggono parte di questo onere al processo di sviluppo. Inoltre, lo pone esclusivamente sulle migliori pratiche governate dal browser che esegue l’applicazione.

MAGGIORE CONVERSIONE

Le stesse misure che una volta erano complesse da attuare in passato sono ora la migliore pratica comune per tutto lo sviluppo web. Avere questi principi e pratiche in gioco per lo sviluppo web porterà a un’elevata conversione per qualsiasi applicazione web e incoraggerà l’uso dell’applicazione man mano che l’adozione diventa banale come visitare un comune link di un sito web. Con tutte le pratiche precedentemente menzionate, insieme al supporto cross-device, i PWA mirano ad essere il punto di svolta dello sviluppo mobile nel semplificare l’adozione delle applicazioni web in modo sicuro e ampiamente distribuito.

Le discussioni di cui sopra illustrano la tendenza dello sviluppo mobile, dalle pratiche native comuni, all’uniformità dello sviluppo di applicazioni web. Queste pratiche moderne incoraggiano la crescita dell’industria mobile e dimostrano come sia le esigenze dei consumatori che quelle degli sviluppatori abbiano plasmato le pratiche di sviluppo di applicazioni mobili in modelli di front-end adottabili.