Sicuramente è un po' presto per fare un paragone completo, ma è possibile che alcuni programmatori si stiano chiedendo se sia più conveniente investire tempo e altre risorse nella piattaforma mobile di Google oppure in quella di Apple. Un
post di
Neil McAllister per
InfoWorld tenta di fare il punto della situazione basandosi su quello che si sa al momento, e su quello che si può annusare nell'aria per quanto riguarda il futuro.
Naturalmente fare previsioni in questo momento sul futuro dei telefoni mobili è un azzardo, ma quello che emerge è una netta separazione per quanto riguarda lo stile adottato dai due giganti: da una parte abbiamo maggiore apertura, dall'altra un'infrastruttura chiusa ma meglio organizzata e più ricca e promettente.
In dettaglio,
programmare per iPhone richiede di avere un computer Apple con processore Intel e Mac OS X Leopard, che ha un suo costo base. Gli strumenti di sviluppo per Mac sono gratuiti e funzionano molto bene, pur essendo limitati al mondo Mac, specie da quando
Steve Jobs ha deciso che si può fare a meno di Java. Bisogna essere membri dell'
Apple Developer Connection (ADC) e sottoscrivere anche una lunga licenza, piuttosto complessa, oltre a varie clausole di riservatezza. In aggiunta al
download delle applicazioni, Apple offre gratuitamente una serie di
informazioni ragguardevole, che vanno dai video, alla documentazione, agli esempi di codice. Ma le adesioni professionali al programma si pagano.
In cambio però
Apple mette dei severi limiti agli sviluppatori: serve il suo consenso perché un'applicazione per iPhone (e, non va dimenticato, per iPod Touch, un altro segmento di mercato piuttosto promettente) sia messa in vendita tramite il canale ufficiale
App Store. Ad esempio, è esplicitamente escluso che possano essere commercializzate applicazioni, che duplicano funzionalità e programmi già esistenti, come ad esempio la posta elettronica, come se si presupponesse che nessuno possa far meglio dei programmatori di Cupertino. Questa scelta ha suscitato, in modo non sorprendente,
malumori e
dissensi tra gli sviluppatori esterni ad Apple, anche per la scelta di aggiungere una clausola
non disclosure o
NDA alle comunicazioni con cui un'applicazione viene respinta.
Gli strumenti di sviluppo per Android sono più leggeri da scaricare, non richiedono necessariamente un computer o un sistema operativo specifico, per esempio funzionano
anche, ma non solo, su Mac OS X. Questa scelta è piuttosto ovvia, e in ogni caso Google non ha mai esitato a usare strumenti offerti dalla concorrenza effettiva e potenziale, dai programmi di
office automation fino al motore di
Chrome. Oltre a
Eclipse è possibile utilizzare anche
NetBeans, grazie al progetto
Undroid. Gli sviluppatori sembrano avere una maggiore libertà, e
non esistono al momento vincoli sulle applicazioni prodotte. Va ricordato comunque che il telefono di cui si parla non è ancora in circolazione, quindi alcuni aspetti del
contratto con gli sviluppatori sono ancora da scrivere.
Il futuro del mercato, per quanto riguarda telefonia e applicazioni
mobile, è ancora molto incerto. Negli ultimi tempi Apple sembra aver preso una posizione dominante, ma la concorrenza
si sta muovendo e qualcosa potrebbe cambiare, prima o dopo. Probabilmente è ancora presto per scegliere, e anche se oggi la programmazione per iPhone può dare grosse
soddisfazioni economiche, a lungo termine potrebbe essere rischioso investire in una sola direzione, anche perché esistono, oltre agli
outsider, altri concorrenti agguerriti come
Windows Mobile e
Java ME di cui tener conto. Più che bravura, per una scelta
redditizia potrebbe servire parecchia fortuna.