Il web è una piattaforma incredibile. Il suo mix di ubiquità tra dispositivi e sistemi operativi, il suo modello di sicurezza basato sull'utente e il fatto che né le sue specifiche né la sua implementazione sono controllate da un'unica azienda rende il web una piattaforma unica su cui sviluppare il software. Grazie alla sua intrinseca collegamento, è possibile eseguire ricerche e condividere ciò che hai trovato con chiunque, ovunque. Ogni volta che visiti un sito web, tale sito è aggiornato e la tua esperienza sul sito può essere temporanea o permanente come desideri. Le applicazioni web possono raggiungere chiunque, ovunque e su qualsiasi dispositivo con un unico codebase.
Le applicazioni specifiche per piattaforma sono note per essere incredibilmente ricche e affidabili. Sono sempre presenti, su schermate Home, dock e barre delle applicazioni. Funzionano indipendentemente dalla connessione di rete. Vengono lanciati in modo indipendente. Possono leggere e scrivere file dal file system locale, accedere all'hardware collegato tramite USB, porta seriale o Bluetooth e persino interagire con i dati memorizzati sul dispositivo, ad esempio contatti ed eventi nel calendario. In queste applicazioni puoi svolgere operazioni quali scattare foto, vedere la riproduzione dei brani elencati nella schermata Home o controllare la riproduzione dei brani mentre usi un'altra app. Le applicazioni specifiche per piattaforma sembrano parte del dispositivo su cui vengono eseguite.
Se pensi alle app e alle app web specifiche per piattaforma in termini di funzionalità e copertura, le app specifiche per piattaforma rappresentano il meglio delle funzionalità, mentre le app web rappresentano il meglio della copertura. Dove si inseriscono le app web progressive?
Le app web progressive (PWA) sono create e migliorate con API moderne per offrire funzionalità, affidabilità e installabilità avanzate, raggiungendo al contempo chiunque, ovunque e su qualsiasi dispositivo con un unico codebase.
I tre pilastri dell'app
Le app web progressive sono applicazioni web progettate per essere efficaci, affidabili e installabili. Questi tre pilastri li trasformano in un'esperienza che sembra un'applicazione specifica per la piattaforma.
Capace
Il web oggi ha delle capacità abbastanza potenti. Ad esempio, puoi creare un'app di video chat iperlocale utilizzando WebRTC, la geolocalizzazione e le notifiche push. Puoi rendere l'app installabile e portare le conversazioni virtuali con WebGL e WebVR. Con l'introduzione di WebAssembly, gli sviluppatori possono attingere ad altri ecosistemi, come C, C++ e Rust, e portare sul web decenni di lavoro e funzionalità. Squoosh.app, ad esempio, lo utilizza per la compressione avanzata delle immagini.
Fino a poco tempo fa, solo le app specifiche per piattaforma potevano davvero rivendicare queste funzionalità. Sebbene alcune funzionalità siano ancora fuori dalla portata del web, le API nuove e future stanno cercando di cambiare questa situazione, espandendo il potenziale del web con funzionalità come l'accesso al file system, i controlli multimediali, i badge delle app e il supporto completo degli appunti. Tutte queste funzionalità sono progettate con il modello di autorizzazione sicuro e incentrato sull'utente sul web, per fare in modo che gli utenti non debbano visitare un sito web.
Tra API moderne, WebAssembly e API nuove e future, le applicazioni web sono più performanti che mai e queste funzionalità sono in continua crescita.
Affidabile
Un'app web progressiva affidabile è veloce e affidabile indipendentemente dalla rete.
La velocità è fondamentale per indurre gli utenti a utilizzare la tua esperienza. Infatti, man mano che i tempi di caricamento di una pagina passano da 1 secondo a 10 secondi, la probabilità di rimbalzo da parte di un utente aumenta del 123%.
Il rendimento non si interrompe dopo l'evento onload
. Gli utenti non dovrebbero mai chiedersi se la loro
interazione, ad esempio facendo clic su un pulsante, è stata registrata. Lo scorrimento e l'animazione
dovrebbero essere fluidi. Le prestazioni influiscono sull'intera esperienza utente, dalla percezione all'applicazione effettiva.
Infine, le applicazioni affidabili devono essere utilizzabili indipendentemente dalla connessione di rete. Gli utenti si aspettano che le app si avviino con connessioni di rete lente o instabili o anche quando sono offline. Si aspettano che i contenuti più recenti con cui hanno interagito, ad esempio tracce multimediali o biglietti e itinerari, siano disponibili e utilizzabili anche se non è facile ricevere una richiesta al server. Quando una richiesta non è possibile, si aspettano che venga comunicato il problema, anziché l'esito negativo o l'arresto anomalo silenziosi.
Gli utenti meritano app in grado di rispondere all'interazione in un batter d'occhio e un'esperienza da cui possono dipendere.
Installabili
Le app web progressive installate vengono eseguite in una finestra autonoma anziché in una scheda del browser. Possono essere avviati dalla schermata Home, dal dock, dalla barra delle applicazioni o dalla barra delle app dell'utente. Puoi cercarle su un dispositivo e passare dall'una all'altra con il selettore di app, in modo da farle sentire parte del dispositivo su cui sono installate.
Dopo l'installazione di un'app web, vengono visualizzate nuove funzionalità. Le scorciatoie da tastiera, di solito prenotate quando vengono eseguite nel browser, diventano disponibili. Le app web progressive possono registrarsi per accettare contenuti di altre applicazioni o come applicazione predefinita per la gestione di diversi tipi di file.
Quando un'app web progressiva passa da una scheda a una finestra dell'app autonoma, trasforma il modo in cui gli utenti la pensano e ci interagiscono.
Il meglio delle due piattaforme
Fondamentalmente, le app web progressive sono solo applicazioni web. Tramite il miglioramento progressivo, le nuove funzionalità vengono attivate nei browser moderni. Utilizzando i service worker e un manifest dell'app web, l'applicazione web diventa affidabile e installabile. Se le nuove funzionalità non sono disponibili, gli utenti usufruiranno comunque dell'esperienza di base.
I numeri non mentono! Le aziende che hanno lanciato le app web progressive hanno ottenuto risultati impressionanti. Ad esempio, Twitter ha registrato un aumento del 65% delle pagine per sessione, il 75% di tweet in più e una diminuzione del 20% della frequenza di rimbalzo, il tutto riducendo le dimensioni dell'app di oltre il 97%. Dopo il passaggio a una PWA, Nikkei ha registrato un aumento del traffico organico di 2, 3 volte, del 58% degli abbonamenti e del 49% degli utenti attivi giornalieri. Hulu ha sostituito la propria esperienza desktop specifica per la piattaforma con un'app web progressiva e ha registrato un aumento del 27% delle visite di ritorno.
Le app web progressive offrono un'opportunità unica per offrire un'esperienza web che i tuoi utenti apprezzeranno. Le app web progressive, che utilizzano le funzionalità web più recenti per migliorare capacità e affidabilità, consentono di installare ciò che crei in modo che chiunque, ovunque e su qualsiasi dispositivo possa installarlo con un unico codebase.