Le Pro­gres­si­ve Web App (PWA, in italiano ap­pli­ca­zio­ni web pro­gres­si­ve) è l’ultimo fenomeno del panorama delle app. Una PWA abbina le ca­rat­te­ri­sti­che dei siti web con molte qualità delle app native Mobile. In questo modo l’ap­pli­ca­zio­ne funziona in maniera uguale sia come sito web che come app in­di­pen­den­te­men­te dal sistema operativo.

Ma possono queste ap­pli­ca­zio­ni web pro­gres­si­ve fare veramente con­cor­ren­za alle già stabilite app native? E cosa c’è di realmente pro­gres­si­vo in queste app, ovvero cosa le con­trad­di­stin­gue dalle classiche web app? In questo articolo vi forniamo una pa­no­ra­mi­ca sul fun­zio­na­men­to delle ap­pli­ca­zio­ni web pro­gres­si­ve e vi spie­ghia­mo come queste si dif­fe­ren­zi­no da altri formati. Inoltre chia­ri­re­mo quali vantaggi e svantaggi portano con se le PWA.

Che cos’è una ap­pli­ca­zio­ne web pro­gres­si­va?

Il termine “ap­pli­ca­zio­ne web pro­gres­si­va” definisce un nuovo metodo di fun­zio­na­men­to delle app, che porta con sé pos­si­bi­li­tà molto pro­met­ten­ti. Rap­pre­sen­ta uno sviluppo ulteriore dei formati presenti già da tempo nelle web app. Google è, per così dire, il maggior re­spon­sa­bi­le di questo nuovo formato. Perciò è poco sor­pren­den­te il fatto che le PWA siano state finora impiegate uni­ca­men­te con il sistema operativo di casa Google, Android. Sui di­spo­si­ti­vi con sistema iOS, di Apple, questo formato funziona at­tual­men­te soltanto li­mi­ta­ta­men­te. Ad ogni modo, questa tec­no­lo­gia per il momento si trova in una fase ancora iniziale e quindi il po­ten­zia­le non è ancora sfruttato appieno. Cio­no­no­stan­te è già chiaro che Google investirà sul suo sviluppo, che in futuro seguirà un’ulteriore ot­ti­miz­za­zio­ne della PWA è pra­ti­ca­men­te certo.

De­fi­ni­zio­ne delle ap­pli­ca­zio­ni web pro­gres­si­ve, parte 1: sito web e ap­pli­ca­zio­ne tutto in uno

Essendo le PWA nel bel mezzo dello sviluppo, darne una spie­ga­zio­ne completa è at­tual­men­te im­pos­si­bi­le. Una PWA è ac­ces­si­bi­le su Internet tramite un URL e funziona at­tra­ver­so il browser, in modo da poter così fun­zio­na­re su diversi sistemi operativi. Inoltre è di­spo­ni­bi­le in­di­pen­den­te­men­te da qualsiasi app store e non necessita di alcuna in­stal­la­zio­ne.

A dif­fe­ren­za di una web app tra­di­zio­na­le, una ap­pli­ca­zio­ne web pro­gres­si­va funziona anche offline. Sul display di un di­spo­si­ti­vo capace di con­net­ter­si ad Internet compare un col­le­ga­men­to con l’URL cor­ri­spet­ti­vo. In questo modo è possibile ri­chia­ma­re l’ap­pli­ca­zio­ne anche quando non si ha alcuna con­nes­sio­ne o se ne ha una debole (l’unico pre­re­qui­si­to in questo caso è una cache offline nel browser). Spesso l’ap­pli­ca­zio­ne as­so­mi­glia molto di più ad una app nativa rispetto che ad un sito web. Grazie al suo design re­spon­si­ve l’ap­pli­ca­zio­ne si adatta a display di qualunque grandezza.

De­fi­ni­zio­ne delle ap­pli­ca­zio­ni web pro­gres­si­ve, parte 2: PWA Vs app nativa

Una PWA si presenta come un’ap­pli­ca­zio­ne web re­spon­si­va, ma che richiama l’aspetto di un’app nativa. In questo modo l’ap­pli­ca­zio­ne è in grado di uti­liz­za­re e di integrare all’interno del programma funzioni native del di­spo­si­ti­vo uti­liz­za­to quali la fo­to­ca­me­ra e il microfono, la lo­ca­liz­za­zio­ne GPS o le notifiche push. Per questo l’ap­pli­ca­zio­ne mette alla prova la com­pa­ti­bi­li­tà sia del browser uti­liz­za­to sia del di­spo­si­ti­vo. Anche il co­sid­det­to “Look and Feel” (ovvero la per­ce­zio­ne da parte dell’utente dell’in­ter­fac­cia dell’ap­pli­ca­zio­ne) di una PWA su tablet o smarphone as­so­mi­glia molto a quello di una app nata per utilizzo da di­spo­si­ti­vo mobile (at­teg­gia­men­to fluido in relazione all’utilizzo, buoni tempi di reazione per il movimento touch, etc.).

Aprire un’ap­pli­ca­zio­ne web pro­gres­si­va online ha quan­to­me­no il vantaggio di poter sempre contare sull’ultima versione di­spo­ni­bi­le. Dif­fe­ren­te­men­te da un’app nativa, l’utente non si deve pre­oc­cu­pa­re degli ag­gior­na­men­ti, poiché, non appena la PWA può contare sulla con­nes­sio­ne al server, questa ricerca im­me­dia­ta­men­te nuovi ag­gior­na­men­ti.

Ulteriori pre­fe­ren­ze rispetto ad un’app nativa sono i costi ugual­men­te ridotti e il minor dispendio ne­ces­sa­rio per lo sviluppo, trat­tan­do­si di un’ap­pli­ca­zio­ne fun­zio­nan­te allo stesso modo su web e su diversi sistemi operativi. Tutto ciò tra l’altro senza com­pro­met­te­re le pre­sta­zio­ni, o almeno questo è il caso nella maggior parte degli scenari in termini di tempi di reazione per la ri­pro­du­zio­ne e l’utilizzo. Inoltre, con una PWA si necessita di uno spazio di ar­chi­via­zio­ne sul di­spo­si­ti­vo di utilizzo pra­ti­ca­men­te minimo, no­no­stan­te ciò dipenda so­prat­tut­to dalla grandezza della cache offline.

Tuttavia alcune di queste funzioni sono già offerte dalle web app classiche così come, seppur con qualche li­mi­ta­zio­ne, da siti web re­spon­si­ve e per di­spo­si­ti­vi mobili. Cosa c’è quindi di tanto in­no­va­ti­vo in queste ap­pli­ca­zio­ni web pro­gres­si­ve, rispetto alle classiche web app?

De­fi­ni­zio­ne delle ap­pli­ca­zio­ni web pro­gres­si­ve, parte 3: PWA Vs web app tra­di­zio­na­li

Le web app classiche, essendo basate su browser, ovvero senza in­stal­la­zio­ne, fun­zio­na­no su diversi sistemi operativi Mobile, quali Android, iOS e Windows Phone. L’approccio di un’ap­pli­ca­zio­ne web pro­gres­si­va non è quindi nulla di nuovo sotto questo punto di vista, ma risulta comunque più maturo rispetto alle web app tra­di­zio­na­li: il fun­zio­na­men­to di una PWA si adatta in base al settore di utilizzo, il che significa che anche l’utente, il cui di­spo­si­ti­vo e/o browser non è com­pa­ti­bi­le con tutte le funzioni dell’ap­pli­ca­zio­ne, può comunque uti­liz­zar­la, anche se in forma ridotta.

Un esempio: un’ap­pli­ca­zio­ne web pro­gres­si­va, atta al ca­ri­ca­men­to di foto su una piat­ta­for­ma online, permette l’utilizzo della fo­to­ca­me­ra. In questo modo gli utenti possono scattare e caricare foto di­ret­ta­men­te tramite app. Tuttavia non tutti i browser e di­spo­si­ti­vi sup­por­ta­no questa funzione da un punto di vista tecnico. Appena si lancia l’ap­pli­ca­zio­ne nel browser, essa verifica se c’è una fo­to­ca­me­ra connessa e se questa è sup­por­ta­ta dal browser. Se ciò non dovesse essere possibile, la funzione della fo­to­ca­me­ra non viene uti­liz­za­ta, ma per lo meno tutte le altre funzioni com­pa­ti­bi­li con l’utilizzo web sì. Nel caso in cui la com­pa­ti­bi­li­tà con la fo­to­ca­me­ra non sia di­spo­ni­bi­le, si potrà sempre comunque contare sulla funzione di upload dell’ap­pli­ca­zio­ne web pro­gres­si­va, in­te­gran­do gli scatti del proprio smart­pho­ne.

Dunque in questo caso le app sono pro­gres­si­ve nel senso che fun­zio­na­no su ogni browser, e che le loro funzioni si adattano all’hardware uti­liz­za­to e alle funzioni del browser. Le feature di una PWA crescono pa­ral­le­la­men­te alle pos­si­bi­li­tà fornite dal browser e dai di­spo­si­ti­vi uti­liz­za­ti.

De­fi­ni­zio­ne delle ap­pli­ca­zio­ni web pro­gres­si­ve, parte 4: PWA vs app ibride

Oltre alle web app esistono già da tempo le app ibride, un ulteriore formato che imita le ca­rat­te­ri­sti­che delle ap­pli­ca­zio­ni native, su­pe­ran­do­ne anche alcuni deficit. Quindi anche le app ibride, si­mi­lar­men­te alle PWA, possono essere svi­lup­pa­te con uno dispendio di tempo minore. Tuttavia le app ibride servono ad un altro scopo: vengono integrate, tramite un’in­stal­la­zio­ne, sui sistemi Android o iOS e imitano così il fun­zio­na­men­to delle app native, il che comporta sia vantaggi che svantaggi. All’infuori del risparmio durante lo sviluppo, l’in­te­gra­zio­ne nel sistema operativo delle app ibride porta con sé un vantaggio es­sen­zia­le. Ovvero che at­tra­ver­so l’in­stal­la­zio­ne è possibile in­cor­po­ra­re più funzioni native del di­spo­si­ti­vo rispetto alle web app, incluse quelle pro­gres­si­ve, sebbene comunque meno rispetto alle app native. Come già men­zio­na­to sopra, l’in­stal­la­zio­ne comporta anche degli svantaggi. Le app ibride sono più difficili da testare, se comparate al formato delle web app. Inoltre l’ap­pli­ca­zio­ne rimane di­pen­den­te dalla piat­ta­for­ma. E anche se lo sviluppo per i singoli sistemi operativi risulta più veloce rispetto alle app native, alla fine dei conti il dispendio per la pro­gram­ma­zio­ne è chia­ra­men­te maggiore che nelle ap­pli­ca­zio­ni web pro­gres­si­ve. Perciò, mentre non deve essere apportata alcuna modifica per Android e iOS per lo sviluppo di una PWA, nel caso delle app ibride la com­pa­ti­bi­li­tà dell’hardware e del browser diventa centrale.

Re­tro­sce­na tecnici di una PWA

Una PWA si basa esclu­si­va­men­te su degli standard web condivisi, e viene, come nel caso delle web app con­ven­zio­na­li, scritta prin­ci­pal­men­te nei linguaggi di pro­gram­ma­zio­ne HTML, CSS e Ja­va­Script. Le ap­pli­ca­zio­ni web pro­gres­si­ve sono estre­ma­men­te fles­si­bi­li e adattano le loro funzioni con­ti­nua­men­te alle relative con­di­zio­ni generali. Ciò di cui è capace una PWA esat­ta­men­te dipende sempre dal browser e dal di­spo­si­ti­vo uti­liz­za­to, ed in parte dal sistema operativo. Ma quali sono le tec­no­lo­gie uti­liz­za­te?

Service Worker

Una novità della PWA è l’utilizzo del Service Worker, uno sviluppo del Web Worker. Un Service Worker opera in secondo piano nel browser, esat­ta­men­te come Ja­va­Script (sotto forma di uno dei thread scol­le­ga­ti dal sito web). Ri­chia­man­do l’ap­pli­ca­zio­ne per la prima volta, il server PWA carica il Service Worker e tenta di in­stal­lar­lo. Una volta avvenuta l’in­stal­la­zio­ne il Service Worker sarà sempre pronto all’utilizzo ad ogni nuovo avvio dell’ap­pli­ca­zio­ne e verrà informato su ogni richiesta ef­fet­tua­ta in rete sul relativo dominio. Questo avviene però solo quando si tratta di siti web che uti­liz­za­no HTTPS, al­tri­men­ti sus­si­ste­reb­be­ro seri rischi relativi alla sicurezza. Il Service Worker e la cache ad esso ap­par­te­nen­te vengono salvate nel browser uti­liz­za­to, sempre che questo supporti questa funzione, come è at­tual­men­te il caso con Google Chrome, Mozilla Firefox e Opera. La pe­cu­lia­ri­tà qui è che un Service Worker permette l’utilizzo di una PWA anche senza con­nes­sio­ne Internet, poiché i contenuti vengono caricati di­ret­ta­men­te dalla cache. Questo pro­ce­di­men­to aiuta enor­me­men­te a ve­lo­ciz­za­re, visto che si dispone già della struttura dell’app e devono essere scaricati solo i nuovi dati.

Se­pa­ra­zio­ne della shell dal contenuto

La “Ap­pli­ca­tion Shell Ar­chi­tec­tu­re” gioca un ruolo im­por­tan­te al fianco dei Service Worker nella rea­liz­za­zio­ne di ap­pli­ca­zio­ni web pro­gres­si­ve. Questa viene uti­liz­za­ta anche nella app native. At­tra­ver­so di essa si dif­fe­ren­zia il software dell’ap­pli­ca­zio­ne tra l’Ap­pli­ca­tion Shell (anche riferita in breve come App Shell, che sta ad indicare la struttura dell’ap­pli­ca­zio­ne) e il contenuto. L’in­ter­fac­cia della PWA concerne all’App Shell, che viene caricata e vi­sua­liz­za­ta come prima cosa. I contenuti rap­pre­sen­ta­ti qui si com­por­ta­no in maniera dinamica e vengono caricati da Internet.

L’App Shell viene salvata nella cache del Service Worker dopo la prima volta che viene ri­chia­ma­ta. Così facendo si ha il vantaggio, che il processo di ca­ri­ca­men­to dell’App Shell richieda meno tempo, e nel frattempo le per­for­man­ce della PWA aumentino. In aggiunta i contenuti della PWA vengono messi in sicurezza nella cache, o meglio at­tra­ver­so la IndexedDB. Per fare ciò è ne­ces­sa­rio, come per l’App Shell, che i contenuti siano stati scaricati durante un accesso pre­ce­den­te all’ap­pli­ca­zio­ne web pro­gres­si­va, così che i contenuti della PWA in questione siano ri­chia­ma­bi­li anche offline.

WebAPK

Con WebAPK si intendono dei server at­tra­ver­so i quali si può tra­sfor­ma­re una ap­pli­ca­zio­ne web pro­gres­si­ve, ri­chia­ma­ta at­tra­ver­so browser, in file formato APK (Android Package). Così facendo, la PWA risulta ancora più facile da in­cor­po­ra­re nel sistema operativo, almeno per quanto riguarda i di­spo­si­ti­vi Android.

Una PWA in formato APK è in­te­gra­bi­le nell’App Drawer, ovvero dove sono presenti tutte le ap­pli­ca­zio­ni di un dato di­spo­si­ti­vo, e, in maniera simile ad una app nativa di Android, è in­stal­la­bi­le sul di­spo­si­ti­vo. Questo permette la PWA di disporre di più funzioni native, permessi di accesso su altre ap­pli­ca­zio­ni così come altre risorse del di­spo­si­ti­vo. A questo punto Android riconosce la PWA in questione come un’ap­pli­ca­zio­ne propria e non come un tab in un browser.

Fino ad ora sono poche le versioni beta dei browser Android che sup­por­ta­no la funzione WebAPK, inoltre la con­ver­sio­ne nel formato APK risulta ancora molto scomoda. Nella forma attuale l’in­stal­la­zio­ne delle WebAPK non è ancora lar­ga­men­te com­pa­ti­bi­le, ma un’espan­sio­ne di questa funzione a tutti i browser più comuni è uno scenario rea­li­sti­co. No­no­stan­te ciò, anche senza questa funzione di in­stal­la­zio­ne, le PWA con­vin­co­no per le loro grandi capacità pre­sta­zio­na­li.

Presente e futuro delle PWA

Il passo in avanti nelle tec­no­lo­gie relative ai browser e alla im­ple­men­ta­zio­ne del Service Worker ad esse collegate sono state de­ter­mi­nan­ti per la nascita di questi nuovi tipi di web app. Già ora è possibile svi­lup­pa­re varie ed im­pres­sio­nan­ti app con la tec­no­lo­gia PWA appena descritta, no­no­stan­te queste possano essere sfruttate al pieno del loro po­ten­zia­le solo at­tra­ver­so i browser che sup­por­ta­no il Service Worker. Molti esempi di ap­pli­ca­zio­ni web pro­gres­si­ve le potete trovare nel PWA showcase di Google e sul sito web pwa.rocks. Le ap­pli­ca­zio­ni web pro­gres­si­ve non sono at­tual­men­te in grado di so­sti­tui­re le app native in tutti i campi, e sarà così anche in futuro, poiché le ap­pli­ca­zio­ni native svi­lup­pa­te ap­po­si­ta­men­te per un de­ter­mi­na­to sistema operativo hanno sempre le maggiori pos­si­bi­li­tà di servirsi delle risorse di sistema, e non solo, del di­spo­si­ti­vo uti­liz­za­to. Tuttavia non è realmente ne­ces­sa­rio che la stra­gran­de mag­gio­ran­za delle app sia così stret­ta­men­te legata ad un software e hardware specifico. Proprio per questo il formato PWA è de­ci­sa­men­te in­te­res­san­te per qualunque tipo di ap­pli­ca­zio­ne. Molti vantaggi delle ap­pli­ca­zio­ni web pro­gres­si­ve sono palesi, ed è per questo che sia gli svi­lup­pa­to­ri di app che gli utenti ripongono grandi speranze nel formato PWA. Tutto sommato ad osta­co­la­re la dif­fu­sio­ne e la pro­du­zio­ne di massa delle PWA sono solo pochi, sebbene decisivi, fattori.

Punti di forza e punti deboli delle PWA: una pa­no­ra­mi­ca

Nella pa­no­ra­mi­ca che segue sono riassunti ancora una volta i vantaggi e gli svantaggi delle ap­pli­ca­zio­ni web pro­gres­si­ve rispetto ad altri tipi di app. La tabella tiene in con­si­de­ra­zio­ne gli aspetti della pro­gram­ma­zio­ne come anche quelli dell’utilizzo delle PWA.

Vantaggi Svantaggi
La pro­gram­ma­zio­ne delle PWA è molto meno di­spen­dio­sa sia in termini di tempo e fatica sia da un punto di vista economico se comparata alle app native per di­spo­si­ti­vi mobili. Inoltre con una PWA è possibile rea­liz­za­re un app che può essere uti­liz­za­ta sia su web che in­di­pen­den­te­men­te su qualunque piat­ta­for­ma. Il formato PWA e la sua com­pa­ti­bi­li­tà con i vari browser (da di­spo­si­ti­vi mobili) e sistemi operativi si trovano ancora in una fase di sviluppo. Al momento è poco chiaro quali funzioni di­spo­si­ti­ve native saranno in grado di sup­por­ta­re in futuro.
Le PWA sono im­me­dia­ta­men­te di­spo­ni­bi­li tramite browser, non ne­ces­si­ta­no di essere scaricate ed in­stal­la­te, di­ver­sa­men­te da altri tipi di app. Questo comporta l’ulteriore vantaggio che le PWA possono essere testate senza doversi ne­ces­sa­ria­men­te legare in un modo o nell’altro all’ap­pli­ca­zio­ne. Ma all’oc­cor­ren­za possono essere in­stal­la­te tramite le WebAPK, così da poterle integrare mag­gior­men­te nel sistema operativo. Non tutti i browser ed i sistemi operativi sup­por­ta­no le PWA nel pieno delle loro funzioni. Molto dipende da se i di­spo­si­ti­vi iOS so­ster­ran­no o meno questa nuova tec­no­lo­gia. Le WebAPK rap­pre­sen­ta­no quindi una tec­no­lo­gia spe­ri­men­ta­le dal futuro incerto.
Le PWA possono servirsi di singole funzioni dei di­spo­si­ti­vi mobili (notifiche push, geo­lo­ca­liz­za­zio­ne, foto/vi­deo­ca­me­ra, microfono, ri­le­va­men­to sen­so­ria­le della posizione e del movimento del di­spo­si­ti­vo). L’utilizzo di tutte le funzioni native di un di­spo­si­ti­vo non è possibile (accesso vietato ai contatti, al ca­len­da­rio, bluetooth o alla NFC). Se e quando le PWA di­ver­ran­no mag­gior­men­te in­te­gra­bi­li nel sistema operativo, allora si potrà contare su tutte le funzioni native, com’è il caso con le app native.
Nessun download di ag­gior­na­men­ti ne­ces­sa­rio, l’app si aggiorna au­to­ma­ti­ca­men­te ad ogni accesso, a patto che il di­spo­si­ti­vo sia connesso. Ad ogni modo le PWA fun­zio­na­no di base anche senza uti­liz­za­re alcuna con­nes­sio­ne ad Internet. È poco chiaro se le PWA riu­sci­ran­no ad imporsi sul mercato o meno. Tuttavia ci sono buone pos­si­bi­li­tà che ciò accada, con­si­de­ran­do che Google, uno dei colossi di Internet e dello sviluppo dei software, è uno dei maggiori so­ste­ni­to­ri di questa nuova tec­no­lo­gia. Inoltre si tratta di una tec­no­lo­gia web che può già contare su molti influenti so­ste­ni­to­ri.
Le PWA ne­ces­si­ta­no di po­chis­si­mo spazio di memoria e di meno risorse rispetto alle app native per di­spo­si­ti­vi mobili, man­te­nen­do però, com­pa­ra­bil­men­te, un buon livello di pre­sta­zio­ni. L’in­te­gra­zio­ne classica nell’App Drawer del di­spo­si­ti­vo è di­spo­ni­bi­le solo at­tra­ver­so l’utilizzo del WebAPK.
Le PWA sono rag­giun­gi­bi­li tramite i motori di ricerca e sul web. Esse sono in­di­pen­den­ti dai sistemi chiusi degli app store. Non adatte al po­si­zio­na­men­to nell’app store.

La tabella illustra le ca­rat­te­ri­sti­che attuali delle pos­si­bi­li­tà delle ap­pli­ca­zio­ni web pro­gres­si­ve, quan­to­me­no in relazione alle pos­si­bi­li­tà offerte al momento dalle ultime versioni dei browser più comuni come Google Chrome, Mozilla Firefox e Opera. Per un futuro supporto capillare del formato PWA ci sono dei segnali positivi, ovvero Microsoft sta lavorando all’in­te­gra­zio­ne dei Service Worker nel suo nuovo browser Edge. Solamente Apple mantiene ancora il mistero riguardo a come ha in­ten­zio­ne di procedere riguardo al supporto del formato PWA, di fatto il browser Safari di Apple supporta at­tual­men­te le PWA in misura molto ridotta. Con Safari ad esempio le PWA sono uti­liz­za­bi­li solo online, e non è quindi chia­ra­men­te possibile integrare una PWA nell’App Drawer dei di­spo­si­ti­vi iOS.

Si possono so­sti­tui­re le app native con le PWA?

Tutti i nuovi formati delle app hanno avuto vita difficile in passato: sia le web app tra­di­zio­na­li come anche le app ibride non ce l’hanno fatta a rag­giun­ge­re una dif­fu­sio­ne tra i di­spo­si­ti­vi mobili, come è invece riusciuto alle app native. Le ap­pli­ca­zio­ni web pro­gres­si­ve invece po­treb­be­ro farcela al primo colpo grazie ai rudimenti tecnici ben ar­chi­tet­ta­ti e al decisivo supporto fornito su più fronti. Al momento la domanda prin­ci­pa­le rimane se Apple aprirà mag­gior­men­te le porte al formato PWA o meno. Questo por­te­reb­be le app web pro­gres­si­ve a diventare in poco tempo uno dei maggiori rivali delle app native.

Apple ha però ottimi motivi per con­ti­nua­re a con­cen­trar­si sul formato delle native app ed osta­co­la­re al contempo la ribalta delle PWA. Ovvero Apple ha nel suo app store una grossa fonte di introito e vincola in questo modo molti utenti ai propri servizi. Anche i dati ottenuti tramite le app native e l’app store giocano un ruolo im­por­tan­te. Dovesse Apple decidere di sup­por­ta­re in qualche misura le PWA, il che vorrebbe dire tra­sfor­ma­re molte ap­pli­ca­zio­ni su iOS e macOS da app native ad app web pro­gres­si­ve, a quel punto gli svi­lup­pa­to­ri e gli utenti Apple non di­pen­de­reb­be­ro più dal suo app store. Apple ri­nun­ce­reb­be a questa di­pen­den­za dal proprio store, se mai decidesse di farlo, solo nel caso in cui l’utilizzo e quindi la dif­fu­sio­ne delle PWA superasse quello delle app native.

Tuttavia il mercato delle app web pro­gres­si­ve sem­bre­reb­be avere le spalle ab­ba­stan­za grandi anche senza il supporto di Apple. Per il successo di questo formato sarebbe comunque ne­ces­sa­rio un maggiore supporto da parte dei browser più popolari. Si può però dare per certo che l’ulteriore sviluppo del browser Chrome sia atto ad ottenere una migliore com­pa­ti­bi­li­tà con le PWA e una in­te­gra­zio­ne delle stesse più facile per Android. Ma Google non è il solo so­ste­ni­to­re del formato PWA, infatti anche Mozilla e Opera, tra gli altri, raf­for­ze­ran­no la com­pa­ti­bi­li­tà dei loro browser con le PWA. I maggiori promotori delle app web pro­gres­si­ve sono perlopiù soggetti operanti nell’industria di Internet e dei software, che hanno interesse nel vedere una più aperta Computer Tech­no­lo­gy e In­for­ma­tion Tech­no­lo­gy.

Con­clu­sio­ne: sono le app web pro­gres­si­ve le app del futuro?

La de­no­mi­na­zio­ne “Pro­gres­si­ve Web App” non è solo una moda del momento o un concetto di marketing; con le PWA, gli svi­lup­pa­to­ri di app entrano in un terreno tecnico del tutto ine­splo­ra­to. Lo sviluppo ulteriore delle web app “normali” porta con sé un po­ten­zia­le de­ci­sa­men­te ri­vo­lu­zio­na­rio: le app sono perciò pro­gres­si­ve, perché si adattano alle capacità dell’ambiente di utilizzo. Più per­for­man­ti sono i di­spo­si­ti­vi di utilizzo e i browser impiegati, e maggiori sono le pos­si­bi­li­tà sfrut­ta­bi­li da parte delle PWA.

Se uti­liz­za­te una PWA dal vostro computer o portatile, essa si com­por­te­rà come un’abituale ap­pli­ca­zio­ne web. Ac­ce­den­do­vi invece da smart­pho­ne o tablet, otterrete un’ap­pli­ca­zio­ne web che si com­por­te­rà da app nativa. In base alla con­fi­gu­ra­zio­ne del vostro di­spo­si­ti­vo mobile sarà possibile che l’ap­pli­ca­zio­ne utilizzi funzioni native del di­spo­si­ti­vo, come ad esempio la fo­to­ca­me­ra, il microfono, le notifiche push o il GPS.

I vantaggi delle ap­pli­ca­zio­ni web pro­gres­si­ve sono palesi e mol­te­pli­ci: non ne­ces­si­ta­no né di download né di in­stal­la­zio­ne, si ag­gior­na­no au­to­ma­ti­ca­men­te ad ogni accesso, ri­spar­mia­no sulle risorse del di­spo­si­ti­vo e non dipendono da una con­nes­sio­ne Internet. L’in­di­pen­den­za dalla piat­ta­for­ma permette tra l’altro di testare una PWA online per la prima volta, senza doverla ne­ces­sa­ria­men­te inglobare nel vostro di­spo­si­ti­vo. Inoltre i tempi di reazione dell’app rap­pre­sen­ta­to un im­por­tan­te fattore: fino ad oggi le app native hanno offerto il “look and feel” migliore, ma d’ora in avanti anche le PWA saranno in grado di offrire simili pre­sta­zio­ni.

Il dispendio, in termini di tempo ed energia, e il costo minore per la rea­liz­za­zio­ne di una PWA (basta pro­gram­ma­re un’app che funzioni sia come sito web sia come app per tutte le piat­ta­for­me) sono un valore aggiunto per gli svi­lup­pa­to­ri. La con­fi­gu­ra­zio­ne di una PWA è quindi van­tag­gio­sa sia per i fornitori di app sia per gli utenti. Tuttavia non sono ancora capaci di sup­por­ta­re tutte le funzioni native dei di­spo­si­ti­vi mobili: da un punto di vista fun­zio­na­le, se le ap­pli­ca­zio­ni web pro­gres­si­ve riu­sci­ran­no a colmare questa lacuna, en­tre­ran­no di fatto in una com­pe­ti­zio­ne a viso aperto con le app native, anche se di fatto le prime non riu­sci­ran­no mai ad equi­pa­ra­re le pos­si­bi­li­tà offerte dalle seconde.

Es­sen­zial­men­te pro­ble­ma­ti­ca è la mancata con­fi­gu­ra­zio­ne di questo formato di ap­pli­ca­zio­ni da parte di Apple. I browser dei maggiori fornitori, ovvero Google, Mozilla, Microsoft, Opera, pun­te­ran­no molto sulla migliore com­pa­ti­bi­li­tà possibile del formato aperto della PWA, che por­te­reb­be ad un immediato in­se­ri­men­to di questa tec­no­lo­gia nell’offerta dei loro prodotti. Apple invece ha molto meno interesse a riguardo, poiché essa ap­pro­fit­ta no­te­vol­men­te dall’iso­la­men­to del proprio sistema delle ap­pli­ca­zio­ni uti­liz­za­to per le piat­ta­for­me iOS e macOS e dal derivante app store.

Solo il tempo sarà in grado di dire se le ap­pli­ca­zio­ni web pro­gres­si­ve saranno realmente capaci di con­cor­re­re con le app native o meno. Le pos­si­bi­li­tà che ciò accada sono de­ci­sa­men­te buone, grazie ai pre­sti­gio­si so­ste­ni­to­ri. Se invece si rag­giun­ge­rà mai una com­pa­ti­bi­li­tà piena del formato PWA con i sistemi operativi e con il browser di Apple, rimane invece un punto in­ter­ro­ga­ti­vo. Chia­ra­men­te se il formato riceverà in futuro maggiore at­ten­zio­ne e consenso da parte di svi­lup­pa­to­ri ed utenti, questo potrebbe portare ad un so­stan­zia­le, sebbene graduale, ri­pen­sa­men­to da parte di Apple. Poiché ge­ne­ral­men­te è im­pos­si­bi­le essere un global player, se si rinuncia com­ple­ta­men­te ad una tec­no­lo­gia pro­mi­nen­te e di successo.

Vai al menu prin­ci­pa­le