Una delle funzionalità che più attendevo nel nuovo sistema operativo per melafonino era proprio il multitasking.

Arrivati al 21° secolo era abbastanza ridicolo che un telefono con quelle caratteristiche potesse eseguire un solo applicativo per volta, con l’aggiunta che, ogni volta che l’applicativo veniva chiuso per qualsiasi motivo, se ne perdeva completamente il contesto e si doveva ripartire da capo in quello che si stava facendo. Gli smartphone che usano Symbian come sistema operativo, mettono a disposizione un supporto per il multitasking molto simile a quello presente nei sistemi operativi per PC/server. Pregi: qualsiasi applicativo può essere messo in background. Difetti: visto la limitatezza delle risorse raggiunto un certo numero di task in funzione in background il telefono diventa lento e finita la memoria va in crash!
Chiaramente Apple non può permettersi malfunzionamenti sul proprio telefono, per questo motivo nelle prime versioni del sistema operativo per iPhone veniva disabilitata la possibilità di mandare processi in background.

L’avvento della versione 4.0 di iPhoneOS introduce molte novità, fra le quali il multitasking: chiaramente la tecnica utilizzata non consiste nel mettere in background l’intero applicativo, ma permettere che una parte di esso continui a funzionare. Apple mette a disposizione degli sviluppatori 7 funzioni che permettono di mettere in background alcuni elementi dell’applicazione. In particolare:

  1. audio – potremo ascoltare la musica mentre facciamo qualche altra attività sul nostro telefono
  2. VoIP – programmi come Skype o simili potranno rimanere collegati mentre non sono in primo piano. Questo significa che potranno continuare a ricevere messaggi e chiamate anche se la loro interfaccia non sarà in foreground.
  3. location – per mandare il processo di lettura del GPS in background
  4. push notificiation – ovvero la possibilità del telefono di fare “pop” delle notifiche dai server della Apple.
  5. local push notification – ovvero, a differenza di quanto accade fino alla versione 3.x dell’OS, il telefono potrà connettersi a server fornitori di servizi push, diversi da quello di Apple (finalmente!!)
  6. task completion – l’iPhoneOS lascia agli applicativi il tempo di completare l’ultimo task che stanno eseguendo prima di chiuderli. Esempio se stata facendo l’upload di una fotografia su flickr, attualmente con la versione 3.x dell’OS l’upload verrebbe interrotto, con la nuova versione, l’applicativo, potrà concludere l’upload prima di uscire.
  7. fast app switchng – ovvero la possibilità di passare da un applicativo ad un altro, salvando il context di quello che si sta chiudendo.

A detta di Apple questa implementazione del multitasking dovrebbe garantire un uso delle batterie tale da non pregiudicarne troppo la durata.

Personalmente trovo interessante questo modo di implementare il multitasking, sicuramente le funzionalità di task completion e fast app switching mi mancavano: dover aspettare che il telefonino finisse di “lavorare” prima di metterlo in tasca mi faceva un po’ ridire. Personalmente non ho mai creduto troppo nelle push notification centralizzate, il più delle volte non funzionavano: spesso i messaggi di facebook mi arrivano prima per posta elettronica.

A conti fatti le 7 API (sembra di parlare dei 7 fratelli 🙂 ) possono, se usate congiuntamente ad un proprio server di appoggio, ampliare molto il ventaglio di possibilità per lo sviluppatore.

Chiaramente dovremo modificare le nostre applicazioni per aggiungere il supporto al multitasking.

Unico mi rammarico: l’iPhoneOS 4 non abiliterà il multitasking sugli iPhone 3G. Ammetto che la cosa non mi stupisce molto, l’hardware del 3G è abbastanza limitato.

One thought on “Il multitasking dell’iPhoneOS 4

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *