Progressive Web App: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m WPCleaner v2.05 - Fixed using WP:CW (Entità con codice numerico)
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(6 versioni intermedie di 6 utenti non mostrate)
Riga 1:
{{EC|La voce—tradotta dalla Wikipedia in lingua inglese [[:en:Progressive Web Apps]] —presenta— potrebbe presentare il medesimo problema di [[Wikipedia:Ricerca originale]]. presente sulla voce tradotta all'epoca, suggerita una ri-traduzione|informatica|settembreaprile 20182023}}
'''Progressive Web App''' ('''PWA''', in italiano '''applicazioniapplicazione web progressiveprogressiva''') è un termine, coniato in origine da [[Google]], che si riferisce ad una [[Applicazione web|applicazioniapplicazione web]] che vengonoviene sviluppatesviluppata e caricatecaricata come normaliuna normale [[Pagina web|paginepagina web]], ma che si comportanocomporta in modo simile alle [[Applicazione mobile|applicazioni native]] quando utilizzateutilizzata su un [[Smartphone|dispositivo mobile]]. <ref>{{Cita web |url=https://developers.google.com/web/progressive-web-apps/ |titolo=Progressive Web Apps |4=Google Developers |sito=Google Developers |lingua=en |accesso=2018-10-06 }}</ref>
 
== Storia ==
Sin dal 2005 le tecnologie per lo sviluppo sul web si sono spostate dalla produzione di pagine statiche a pagine dinamiche attraverso l'uso di strumenti [[lato server]] ([[PHP]], [[ASP.NET]]) e client[[lato sideclient]] ([[javascriptJavascript]] attraverso la nuova funzionalità [[AJAX|Ajax]]<ref>{{Cita web|url=http://adaptivepath.org/ideas/ajax-new-approach-web-applications/|titolo=Ajax: A New Approach to Web Applications|cid=1|cognome1=Garrett|nome1=Jesse James|accesso=18 febbraio 2005|dataarchivio=7 maggio 2019|urlarchivio=https://web.archive.org/web/20190507051447/https://adaptivepath.org/ideas/ajax-new-approach-web-applications/|urlmorto=sì}}</ref>), e tramite il [[Design responsivo|responsive web design]].<ref>{{Cita web|url=http://alistapart.com/article/responsive-web-design|titolo=Responsive Web Design|cid=2|cognome1=Marcotte|nome1=Ethan|accesso=25 maggio 2010|dataarchivio=29 gennaio 2016}}</ref> Nonostante le iniziali spinte per la creazione di applicazioni web basate su queste tecnologie su terminali come l'[[iPhone]] del 2007, i tentativi con le web-app hanno fallito nei confronti rispetto alle app native. Le app native fornivano una [[User Experience|user experience]] migliore, e venivano caricate più velocemente in confronto al caricamento che doveva essere fatto dal browser. Il confezionamento in pacchetti di risorse e l'accesso diretto all'hardware consentiva alle applicazioni native di essere molto più veloci e di fornire maggiori funzionalità. Ma dalla metà del 2010, i continui miglioramenti nell'[[HTML5]], [[CSS|CSS3]], e [[JavaScript]], i browser web sempre più performanti e rispondenti agli standard insieme a processori potenti come l'[[Apple A10 Fusion|A10]] di Apple e lo Snapdragon 821 hanno reso tali applicazioni una alternativa percorribile.
 
Nel 2015, Frances Berriman e lo sviluppatore Alex Russell di [[Google Chrome]] hanno coniato il termine "Progressive Web Apps"<ref name="infrequently.org">{{Cita web|cognome1=Russell|nome1=Alex|titolo=Progressive Web Apps: Escaping Tabs Without Losing Our Soul|url=https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/|accesso=15 giugno 2015|cid=4|dataarchivio=29 gennaio 2016}}</ref> per descrivere le app che sfruttavano le nuove funzionalità offerte dai moderni browser, inclusi Service Workers e Web App Manifests, che consentono agli utenti di promuovere le web app affinché si comportino come applicazioni di prima classe, ovvero come applicazioni native, nel sistema operativo dei loro dispositivi.
 
== Descrizione ==
Diversamente dalle applicazioni tradizionali, le progressive web appsPWA 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 normalirelative pagine web a seconda delle funzionalità offerte dal dispositivo<ref>{{Cita web |url=https://developers.google.com/web/ilt/pwa/introduction-to-progressive-web-app-architectures |titolo=Introduction to Progressive Web App Architectures |4=Google Developers |sito=Google Developers |lingua=en |accesso=2018-10-06 }}</ref>. 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<ref>{{Cita web |url=https://medium.freecodecamp.org/progressive-web-apps-101-the-what-why-and-how-4aa5e9065ac2 |titolo=Progressive Web Apps 101: the What, Why and How – freeCodeCamp.org |sito=freeCodeCamp.org |data=2018-07-20 |lingua=en |accesso=2018-10-06}}</ref>. Diverse aziende hanno riscontrato<ref>{{Cita web|url=https://ymedialabs.com/progressive-web-apps|titolo=Why Progressive Web Apps Are The Future of Mobile Web (2019 Research)}}</ref> notevoli miglioramenti in diversi [[Indicatore chiave di prestazione|indicatori chiave di prestazione]], come un aumento nel tempo speso nel sito o nelle conversioni dei nuovi utenti. In pratica, la pagina web creata come app la si ritrova come istanza presente nella lista deidelle programmiapp installatiinstallate.
 
== Aspetti tecnici ==
Riga 20:
* '''Aggiornate''' - Le informazioni sono sempre aggiornate grazie al processo di aggiornamento dei dati offerto dai service worker.
* '''Sicure''' - Vengono esposte su protocollo HTTPS per evitare che la connessione esponga informazioni o che i contenuti vengano alterati.
* '''Discoverable''' - Vengono identificate come “applicazioni” grazie al manifesto W3C<ref name="w3cmanifest">W3C [https://www.w3.org/TR/appmanifest/ “Web App Manifest”, Working Draft], retrieved 12 September 2016</ref> e al service worker registration scope che consente ai [[Motore di ricerca|motori di ricerca]] di trovarle.
* '''Riattivabili''' - Rendono facile la riattivazione dell'applicazione grazie a capacità quali le notifiche push.
* '''Installabili''' - Consentono all'utente di "salvare" le app che considera più utili con la corrispondente icona sullo schermo del proprio terminale mobile (home screen) senza che si debba affrontare tutti i passaggi e problemi legati all'uso dell'app store.
Riga 41:
* La dichiarazione dell'orientamento di default della web app
* L'abilitazione a impostare la modalità dello schermo, ad esempio in full screen
Impostando e modificando i metadata del file manifesto, gli sviluppatori consento agli [[user agent]] di creare delle modalità di fruizione per le Progressive Web App che hanno le stesse caratteristiche delle app native.
 
=== Service Workers ===
Le app mobili native forniscono una esperienza ricca e buone performance, al costo dell'occupazione di spazio nel terminale, mancanza di aggiornamenti in tempo reale e scarsa visibilità nei motori di ricerca. Le web app tradizionali al contrario sono carenti sugli altri aspetti: mancanza di eseguibile compilato nativamente, insieme alla dipendenza dalla connettività che potrebbe essere inaffidabile o lenta. I Service Worker vengono utilizzati nel tentativo di fornire il meglio di questi due mondi alle progressive web app.
 
Tecnicamente, i Service Worker forniscono un [[proxy]] di rete implementato come script in JavaScript nel browser web per gestire da programma le richieste web/HTTP. I Service Worker si interpongono tra la connessione di rete e il terminale che fornisce il contenuto. Sono capaci di utilizzare i meccanismi di cache in maniera efficiente e di consentire un comportamento privo di errori durante lunghi periodi di utilizzo off line.
 
Proprietà dei Service Worker