Al giorno d'oggi c'è una app per fare quasi qualunque cosa: c'è un'app per le foto e i video, un'app per vedere i film in streaming, un'app per prenotare aerei e viaggi etc etc... A dire il vero ci sono centinaia di app per fare ognuna di queste cose e sfogliando gli app store di Google, di Apple è possibile scegliere le applicazioni mobili più adatte alle nostre esigenze. A breve, però, tutto questo potrebbe cambiare. O, meglio, evolversi: stanno cominciando a diffondersi le PWA, Progressive Web App. Cioè le app del futuro, che grazie alle loro caratteristiche offrono all'utente una migliore esperienza di uso rispetto alle app di oggi. Ma cosa sono le Progressive Web App e come funzionano?
Cosa sono le PWA
Le PWA sono una sorta di mix tra una app classica, che si scarica da uno store e si installa sul proprio smartphone, tablet o anche PC, e una normale pagina Web. Si basano sui cosiddetti "Service Worker", che non sono altro che degli script di codice che lavorano in background e fanno da interfaccia tra l'utente e un browser. Grazie a questo "ponte" di codice le PWA sono multipiattaforma e multidispositivo, quindi possono girare su qualsiasi browser e qualsiasi device, fisso e mobile, purché il browser sia compatibile con la tecnologia PWA. Inoltre, per loro natura, non sono strettamente dipendenti dalla connessione a Internet. Quindi consumano pochi dati e possono essere usate anche se la connessione è debole o del tutto assente.
Come funzionano le PWA
Le PWA, come abbiamo già detto, sono un incrocio tra app e pagine Web. Hanno un loro indirizzo (cioè una URL) al quale possono essere raggiunte. Una volta che, tramite il browser, l'utente visita quella URL viene scaricata una parte del codice della applicazione e viene salvata sul dispositivo. Questo permette, ad esempio, di salvare l'app PWA sulla home del proprio smartphone e di usarla anche se non c'è connessione, come una app tradizionale.
Quando l'utente apre per la seconda volta la PWA in realtà sta lanciando il codice già scaricato che, se c'è connessione, controllerà se esiste una versione più aggiornata della PWA o se ci sono nuovi dati da scaricare, mentre se la connessione non c'è continuerà a funzionare come la prima volta.
Le PWA, dal punto di vista dell'utente, funzionano in modo molto simile e con le stesse caratteristiche delle app normali: possono essere lanciate a tutto schermo, possono inviare notifiche all'utente, possono utilizzare la fotocamera, il Bluetooth, il microfono e il resto dell'hardware dello smartphone su cui vengono eseguite. L'utente, di solito, non si accorge della differenza tra una app normale e una PWA.
Vantaggi delle PWA
Dalle caratteristiche tecniche delle PWA derivano una serie di vantaggi. Innanzitutto, occupano molto meno spazio sul dispositivo rispetto ad una app tradizionale, perché solo parte del codice viene scaricato e immagazzinato nella memoria locale mentre il resto viene eseguito non appena c'è connessione.
Poi sono molto veloci, perché a differenza delle pagine Web non si deve scaricare tutto il contenuto prima che la schermata risponda ai comandi dell'utente. Avendo un indirizzo URL, poi, possono essere trovate dai motori di ricerca e, soprattutto, non dipendono da uno store.
Ciò vuol dire che sono anche più economiche da realizzare per gli sviluppatori, che non devono pagare la percentuale a Google o Apple per la pubblicazione sui rispettivi store ufficiali. Ma non solo: essendo le PWA naturalmente multipiattaforma e multidispositivo, ogni sviluppatore dovrà creare una sola versione dell'applicazione ed essa girerà senza problemi sia su Android che su iOS, ma anche su Windows, Linux e macOS. Infine, lo sviluppatore sarà sempre sicuro che la sua app PWA sarà sempre aggiornata su tutti i dispositivi, perché si aggiornerà da sola non appena il Service Worker otterrà la connessione a Internet.
I rischi delle PWA
A fronte di questi indubitabili vantaggi, esistono anche alcuni rischi delle PWA. E, anche in questo caso, dipendono dalla loro architettura. Tra i rischi principali c'è quello della sicurezza, che deriva dal fatto che la PWA si appoggia a un sito Web per funzionare. Ciò vuol dire che, se il sito di una PWA viene bucato dagli hacker, allora immediatamente tutte le PWA che si connettono a quel sito iniziano a dialogare con un sito compromesso che potrebbe trasmettere in un baleno virus e trojan a migliaia, se non milioni, di dispositivi in tutto il mondo.
Oggi esistono casi di app che vengono bucate dagli hacker e che infettano smartphone o computer, ma l'infezione è limitata a quella specifica versione dell'applicazione e chi ha una versione "pulita" può continuare ad usarla senza rischi: basta disattivare gli aggiornamenti. Con le PWA, invece, l'app è sempre aggiornata all'ultima versione.
Questo, unito alla grande potenza di queste applicazioni e al fatto che possono accedere all'hardware del dispositivo su cui vengono fatte girare, permette ad una ipotetica app PWA infetta di raccogliere grandi quantità di dati sul nostro conto, ma anche di usare l'hardware per scopi malevoli. Ad esempio, usare il Bluetooth per inviare virus anche ai dispositivi che non hanno mai usato quella PWA. Sia chiaro: molti di questi problemi possono nascere anche con le app tradizionali, ma con le PWA i rischi potrebbero aumentare.
17 febbraio 2019