Come completamento della trattazione sui più noti sistemi di comunicazione di tipo Push, in questo articolo tratteremo la piattaforma adottata da Apple per la realizzazione del servizio.
Come già anticipato nei precedenti articoli (Sistemi push per le comunicazioni in ambiente mobile: C2DM, Sistemi push per le comunicazioni in ambiente mobile), un sistema di comunicazione push ha lo scopo di permettere la comunicazione di messaggi ai dispositivi remoti senza la necessità di avere un software in esecuzione per poter ricevere il messaggio.
Quale azienda con una tradizione relativamente più datata rispetto alle concorrenti del settore mobile, Apple propone due soluzioni per le notifiche: Remote e Local Push Notification.
Le prime ricalcano lo stesso modello di funzionamento delle push notification Android, dove, però, per l’accreditamento del dispositivo è necessario il recupero di certificati generati dalla stessa casa madre e richiedibili solo previa registrazione da parte dello sviluppatore. Per il loro funzionamento, le Remote push notification necessitano che il dispositivo sia connesso ad internet.
Le Local notification, pur mutuando il concetto di notifica di generazione di un evento ad un’applicazione installata sul dispositivo, si differiscono dalle Push Notification remote perchè generate direttamente dal sistema operativo senza l’obbligo di una connessione ad internet. Il vantaggio più grande delle Local notaification è quello di permettere un notevole risparmio energetico dovuto alla minore sollecitazione dei componenti dedicati alla connettività (modulo 3G, modulo WI-FI).
L’idea alla base della piattaforma Push di Apple è quella di separare l’origine dell’evento Push dalla sua notifica, estendendo quest’ultimo a tutti quei contesti in cui non è necessaria una comunicazione da e verso un attore remoto.
Per meglio comprendere le differenze tra i due tipi di servizi, possiamo analizzare un’ipotetica applicazione di gestione delle scadenze. Per poter funzionare in modo indipendente dalla connessione ad internet, la nostra applicazione necessita di conoscere almeno la definizione di una scadenza (es. data di inizio e frequenza). A tale scopo può essere predisposta una notifica di tipo Remoto per comunicare l’evento di creazione scadenza da parte del sistema madre. Superata la prima fase conoscitiva, il software può elaborare in modo automatico le successive scadenze pianificando opportune notifiche locali. Risulta evidente che, nel solo contesto di notifiche remote, il compito di pianificare e comunicare le scadenze è del sistema remoto che potrebbe non riuscire nell’intento per assenza di connessione sul device mobile.
Lo sviluppo di applicazioni in ambiente IOS comporta qualche vincolo rispetto rispetto alle altre piattaforme, sia da un punto di vista tecnico che da un punto di vista economico, e nel contempo offre strumenti più completi per la realizzazione dei software.
In generale, possiamo affermare che i sistemi trattati (Androdi e IOS) offrono strumenti molto potenti ed affidabili e che questi hanno permesso la realizzazione del concetto di dispositivo mobile.
Autore
Vincenzo Tirelli
Innovation Manager – Senior Software Designer
Ho iniziato a collaborare con la SNAP a partire dal 2007, in qualità di ...