
La vita di uno sviluppatore non è semplice. Google o Apple? Android o iOs? E perchè non windows phone? Oppure scommettere tutto su Bada? Scegliere su quale piattaforma sviluppare la propria applicazione non è banale.
Sempre più developers però si avvicinano all’ecosistema Android. Non è questione di simpatia o di “fanboyismo”, infatti le ragioni di questa scelta hanno motivazioni più profonde. Cerchiamo di capirle insieme.
I numeri
La matematica non è un’opinione, e questo è noto, e i numeri parlano chiaro. Android ha avuto un boom incredibile negli ultimi anni, dominando il mercato degli smartphone e spodestando Symbian dal trono. Android attualmente detiene circa l’80% del mercato, lasciando un abisso fra se e il secondo posto, occupato da iOs, che detiene infatti solo il 13% del restante. E non è finita qui: ogni giorno il numero di smartphone col robottino verde cresce ad un ritmo impressionante. Parliamo di ben 1.5 milioni di attivazioni giornaliere. Non bisogna quindi stupirsi se il numero di device con sopra il sistema operativo di casa Google ha superato il muro del bilione di attivazioni. Ma i numeri non sono finiti qui: diamo un’occhiata al numero di app presenti nel market Google, il Play Store.
Come riportato da AppBrain il grafico mostra che il numero di applicazioni è in rapida salita, sfiorando le 900mila unità, e con questo anche la qualità delle stesse. Merito questo di sviluppatori in gamba e di un supporto ottimo da parte di Google per quanto riguarda le proprie API. Questi dati hanno però anche il rovescio della medaglia, mostrando una concorrenza spietata: bisogna aver quindi l’idea giusta e riuscire a realizzarla al meglio, per non rimanere persi nel mare dell’anonimato.
[divider]
Aperto ed Economico
Android è completamente open source. Questo significa che un’applicazione può modificare qualsiasi aspetto del sistema. Non ti piace la tastiera? Scarichi un’applicazione alternativa. Non ti piace la schermata dei messaggi?? La cambi con un’applicazione. Non è un caso se la seconda categoria di applicazioni più scaricate sia personalization, che conta circa 90mila applicazioni su quelle totali.
Lo sviluppatore esperto potrà quindi cimentarsi non solo in applicazioni classiche, ma anche in launcher, widget, e altro ancora, per poter fornire all’utente una vasta gamma di app.
Inoltre prendiamo l’esempio voi vogliate programmare per iOs: per installare Xcode, il tools ufficiale, dovrete procurarvi un mac, e non è finita qui: dovrete anche sborsare ben 99$ all’anno. Per quanto riguarda Android solo 25$. All’anno? No, PER SEMPRE.
Infine la politica di approvazione di Google è più flessibile di quella di Apple, per cui la pubblicazione sullo store avviene quasi immediatamente, contro le settimane del market iOs. Il colosso di Montain View si riserva però il diritto di rimozione dell’applicazione dallo store, se questa viola le condizioni d’uso.
Inoltre il sistema operativo è costruito in modo tale da favorire l’integrazione fra le applicazioni: infatti qualsiasi applicazione può cooperare con le altre, per rendere l’esperienza più coinvolgente. Basti pensare ad un’applicazione per fotocamera, che dopo lo scatto apre la galleria per visualizzare lo scatto appena effettuato, oppure con un semplice tocco apre un’altra applicazione, facebook, per condividere in tempo reale la foto appena scattata. Apple invece limita tutto questo chiudendo l’applicazione in una sandbox e sfavorendo l’integrazioni sia fra le diverse app che fra queste e alcune parti del sistema iOs.
[divider]
Semplice Accesso
Il linguaggio di programmazione su cui è basato Android è un “dialetto” del linguaggio Java. Questo significa che per uno sviluppatore che ha già padronanza con il linguaggio di casa Oracle il passo è breve. Questo non accade per esempio con iOs, che utilizza come linguaggio l’Objective-C, un linguaggio proprietario Apple e quindi non opensource. Anche per quanto riguarda Windows Phone si utilizza un’altro linguaggio proprietario, il C#, sviluppato da Microsoft.
Inoltre la documentazione Android è vasta e ricca di esempi, senza contare le numerose community di sviluppatori e i forum specializzati. Come se questo non bastasse l’ambiente è reso ancora più familiare grazie all’integrazione con Eclipse, che funge da IDE( integrated development environment) per Java.