Home
Iniziare a programmare per piattaforme mobili

30 Maggio 2012

Iniziare a programmare per piattaforme mobili

di

La piattaforma ideale per programmare cambia in base alla nostra disposizione tecnica, commerciale e strategica. A cui aggiungere una dose di imponderabile.

Una domanda che mi viene fatta spesso dai novelli programmatori riguarda la piattaforma o architettura da sposare nella realizzazione delle famose applicazioni mobili.

Android o iOS? In questi casi rispondo sempre entrambe, senza dimenticare che poi esistono anche alternative come Blackberry. Ma quale di queste è la più semplice? Ovviamente dipende dal background che ciascuno di noi possiede. Per sviluppare applicazioni Android è necessaria una buona conoscenza di Java, mentre per sviluppare su iOS è necessaria una conoscenza di Objective-C. In ambito professionale si richiede poi spesso una buona conoscenza di C/C++ in modo da poter utilizzare librerie native come accade il più delle volte nella realizzazione di giochi attraverso l’utilizzo di librerie OpenGL.

Se sembra complesso, si ricordi la battuta di Brian Kernighan, uno dei padri del linguaggio C, scritta in The Elements of Programming Style:

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

Esiste comunque un’altra versione della precedente domanda, posta da chi le applicazioni le vuole vendere. Mi conviene di più realizzare una applicazione per iOS o per Android? Anche qui la mia risposta è entrambe anche se, in questo caso, l’aumento del numero di versioni di una applicazione fa aumentare il costo della sua realizzazione.

Ad essere rigorosi, rispettando le linee guida pubblicate da Google e da Apple, l’unico aspetto che si può riciclare nelle due versioni è l’idea e forse qualcosa della grafica. Nel caso di iOS ci dobbiamo chiedere se l’applicazione debba essere disponibile solo su iPhone o anche su iPad. Nel caso Android la faccenda si complica in quanto esistono moltissimi dispositivi ciascuno con versioni di riferimento diverse e con caratteristiche hardware diverse; un esempio su tutto, le dimensioni e risoluzione dello schermo. Ad oggi una applicazione per Android che voglia abbracciare il numero maggiore di dispositivi è in media più costosa della equivalente per iOS.

Gli ingegneri di Google conoscono il problema e da tempo si stanno adoperando per risolverlo. Vedremo se con il rilascio di Android 5 si riuscirà a fare un ulteriore passo verso la realizzazione di strumenti che permettano a noi sviluppatori di realizzare applicazioni che risentano il meno possibile della frammentazione.

L'autore

  • Massimo Carli
    Massimo Carli, dopo essersi occupato per più di dieci anni di applicazioni enterprise in ambiente Java, nel 2003 ha iniziato a interessarsi alle applicazioni mobile, sviluppando per dispositivi Blackberry, iOS e Android. Ha lavorato come Software Engineer per Yahoo! e Facebook ed è attualmente Lead Mobile Engineer per Lloyds Banking Group.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.