Che cosa sono le Progressive Web App? Quali sono le loro applicazione? I loro vantaggi? Partiamo dalle basi e andiamo man mano ad identificare le varie tipologie di applicazioni attualmente in uso sul mercato.
Prima di tutto abbiamo le applicazioni native, ovvero i software realizzati appositamente per una determinata piattaforma, che dunque includono codice che sfrutta librerie o API presenti in modo nativo su un sistema. Parallelamente a queste esistono anche le Web App. Applicazioni realizzate tramite le tecnologie Web che sostanzialmente partono anche da un normale sito web e lo incapsulano in un contenitore che poi simulerà il comportamento di un applicazione nativa.
Oggi buona maggior parte delle applicazioni che usiamo quotidianamente sono Web App, impiegate direttamente via browser. Grazie alle tecnologie Web come HTML5, CSS3 e JavaScript, le Web App sono eseguibili su qualsiasi device. Non è però detto che esse vengano sempre integrate alla perfezione con il sistema in cui vengono utilizzate, le PWA si pongono quindi l'obbiettivo di adattarsi al meglio con la piattaforma utilizzata e di garantire una user experience molti simile a quella delle applicazioni native.
Le PWA si presentano quindi come un ibrido tra le normali pagine Web e le applicazioni mobili, cercando di combinare le features presenti nei moderni browser con i vantaggi dell'utilizzo in mobilità. Appena avviate tali applicazioni si comportano come dei normali siti web e, progressivamente, assumono le caratteristiche di un'applicazione nativa, integrandosi col sistema.
Le Progressive Web App hanno la caratteristica di essere:
- Affidabili: vengono caricate in modo (quasi) istantaneo e sono meno soggette alle connessioni instabili.
- Veloci: rispondono molto rapidamente alle interazioni dell'utente.
- Integrate: si comportano come applicazioni per il device corrente.
Sviluppare una Progressive Web App porta dunque diversi benefici che una normale applicazione Web di base non avrebbe. Permettendo quindi agli sviluppatori di focalizzarsi sulle features specifiche dell'applicazione invece che sull'integrazione con l'ecosistema.
Via Sven Ruppert