SDK: ancora sul Multitasking.

di Emanuele L. Cavassa 2

Nell’articolo in cui tentavamo di capire le ragioni per cui Apple avesse deciso di non lasciare agli sviluppatori indipendenti la possibilità d’usufruire del multitasking nelle loro applicazioni, esprimevamo il nostro parere positivo alla scelta.


Infatti sullo schermo di iPhone, non grande come quello di un computer, non c’è un reale motivo di mantenere aperta un’applicazione mentre ad esempio si sta telefonando.
Questo, ipotizzavamo, anche per una questione di ottimizzazione della durata della batteria.


A confermare le nostre ipotesi arriva un post sul blog di Craig Hockenberry, il programmatore di Twitterrific.


Lui ha avuto modo di sviluppare su di un iPhone sbloccato la versione “mobile” del suo client twitter, andando incontro, a suo dire, ad


un errore di design enorme: dopo l’esecuzione di query XML a intervalli regolari di 5 minuti, la batteria di iPhone si esauriva dopo 4 ore.


Infatti le applicazioni create al di fuori del SDK di Apple possono funzionare tranquillamente in background, come dicevamo nel post scorso l’hardware di iPhone è assolutamente adatto.


Il problema è l’uso che se ne fa, del multitasking e dell’esecuzione in background.


Infatti, secondo Craig Hockenberry, nel suo caso il problema stava nelle componenti radio del device, GPRS e Wifi, il cui funzionamento continuo, avendo una richiesta di sincronia da parte di Mobile Twitterrific, portava ad un veloce scaricarsi della batteria.


Continua Hockenberry:


Sono necessari diversi mesi di sviluppo vero e proprio sulla piattaforma iPhone per arrivare a capire che iPhone necessita di un cambio radicale di prospettiva e di modus operandi. Prima di arrivare a questa realizzazione, si daranno per scontate moltissime cose basandosi sull’esperienza di sviluppo di applicazioni desktop; e questo a sua volta porterà a parecchie scelte di design sbagliate.


Per evitare inconvenienti, allora, Apple ha fatto una scelta radicale: per ora niente multitasking, come fino a poche settimane fa niente applicazioni native.


Il mondo degli sviluppatori indipendenti, comunque, è spaccato in due: da un lato ci sono sviluppatori come Hockenberry che concordano con la scelta di Apple, dall’altro ci sono sviluppatori come il team di Rogue Amoeba che preferirebbero una maggior libertà di movimento.


Libertà di movimento, comunque, che Apple stessa non si è concessa.
Solo le applicazioni Telefono, Mail, Safari ed iPod vengono eseguite in background. Tutte le altre, no.
Sarebbe bello sapere da quanti hanno un iPhone od un iPod Touch e si sono lamentati della restrizione di Apple se si erano mai accorti che gli SMS, la Calcolatrice, le Note, le Widgedts, ecc erano ogni volta chiuse e riaperte.


Quindi, se è Apple stessa a non aver avuto bisogno del background per le applicazioni originali dell’iPhone, senza compromettere l’esperienza utente, perchè dovrebbero averne bisogno gli altri programmatori?


Può essere che, comunque, nel momento in cui gli sviluppatori siano abituati a nuove scelte di design conformi al dispositivo, Apple decida di allargare le maglie delle restrizioni del SDK per iPhone.



[Via]