Alberto Tambone
Sviluppo di una Progressive Web App per Smart Microlearning = Progressive Web App for Smart Microlearning.
Rel. Antonio Servetti. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2020
Abstract: |
Le Progressive Web App rappresentano una nuova eccitante forma di applicazioni web, in quanto consentono di avere un’esperienza utente che mette insieme caratteristiche tipiche di un’applicazione mobile nativa con i vantaggi del web. Alcune particolarità, come la presenza di un’icona dell’app sulla home-screen del dispositivo, le notifiche push, una reattività relativamente elevata e la possibilità di funzionare anche offline, sono state fino a qualche anno fa di proprietà esclusiva delle app native e restano non attuabili in un’applicazione internet tradizionale. Oggi, invece, si possono (e si devono) trovare anche in una Progressive Web App (PWA), pur restando quest’ultima un’applicazione web a tutti gli effetti. Le PWA sono applicazioni, sicure, veloci, aggiornate, indipendenti dalla disponibilità della connessione, installabili, progressive, responsive e riattivabili tramite notifiche push. Sono, quindi, del tutto paragonabili alle app native. Il service worker costituisce il cuore di ogni PWA. Tramite esso si possono controllare le pagine del sito, al di fuori del contesto del browser. I service worker introducono un nuovo layer, perché si interpongono tra i tab del browser e il web. Inoltre, funzionano anche offline, sfruttando il meccanismo offerto dalla cache. Altri pilastri fondamentali delle PWA sono il progressive enhancement, ossia la filosofia di progettazione che punta a fornire agli utenti tante funzionalità quante il proprio browser sia in grado di sperimentare, e l’offline-first, ossia l’obiettivo cruciale di far funzionare un’applicazione anche in assenza di connessione, in maniera smooth. Tutto ciò è reso possibile soprattutto grazie all’uso intelligente della cache e di database in-app, nonché della sincronizzazione in background, ossia la capacità che ha il service worker di eseguire delle operazioni dietro le quinte, quando il dispositivo si trova nello stato online. Il passo più rivoluzionario per le PWA è stato forse offerto dal supporto alle notifiche push, poiché queste ultime rappresentavano uno dei gap più profondi tra le applicazioni native e quelle internet. Il fenomeno del re-engagement viene adesso significativamente rinforzato. “TamTamy Go Smart Microlearning” è a tutti gli effetti una PWA che è stata sviluppata tenendo bene a mente tutte le caratteristiche fondamentali che un’applicazione progressiva deve avere. L’app, infatti, è installabile, può ricevere notifiche push e funziona perfettamente anche quando il dispositivo non è connesso, facendo sì che la famosa schermata di errore connessione, che compare ogni volta che prendiamo un ascensore o entriamo in una galleria, sia solo un lontano ricordo. L’utente acquisisce ben presto confidenza con l’app: sa che quando compila un quiz, le sue risposte verranno mandate al server appena la connessione lo permette. Inoltre, non viene disturbato con messaggi o notifiche push che non sono di suo interesse. La proposta di installazione o di ricezione delle notifiche, infatti, viene fatta solo nel momento più opportuno. Tutto questo comporta solo benefici non solo per gli sviluppatori ma anche e soprattutto per l’utente stesso che si fidelizza all’app (e all’azienda produttrice), affidandosi ad essa in modo progressivamente più sereno. |
---|---|
Relatori: | Antonio Servetti |
Anno accademico: | 2019/20 |
Tipo di pubblicazione: | Elettronica |
Numero di pagine: | 200 |
Informazioni aggiuntive: | Tesi secretata. Fulltext non presente |
Soggetti: | |
Corso di laurea: | Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering) |
Classe di laurea: | Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA |
Aziende collaboratrici: | TAMTAMY Reply srl con Socio Unico |
URI: | http://webthesis.biblio.polito.it/id/eprint/14568 |
Modifica (riservato agli operatori) |