Perchè scegliere Android come piattaforma di sviluppo?

Perchè scegliere Android come piattaforma di sviluppo?

Introduzione ad Android

L’utilizzo degli smartphone, i telefonini intelligenti, è un fenomeno che da pochi anni a questa parte è cresciuto esponenzialmente, grazie alle nuove tecnologie che permettono  di  costruire  prodotti  sempre  più affidabili  e  completi  e  ad  un  costo sempre minore. Questo ha permesso infatti di potersi  estendere  su  una  fascia  di clienti sempre maggiore: i primi smartphone infatti avevano un prezzo decisamente elevato e quindi non accessibile a tutti, mentre ora se ne pùo comprare uno senza troppe pretese per poche decine di euro.  Si è inoltre passati da telefoni la cui unica funzione era effettuare chiamate, a telefoni in  cui  non  manca  nulla:  fotocamera, GPS, lettori multimediali e quant’altro. Da un lato, l’introduzione di queste funzioni ha reso il dispositivo più complicato da utilizzare, soprattutto per una clientela non giovane, dall’altro lo ha reso più completo e versatile, creando numerose opportunità agli sviluppatori per inventare e re-inventare applicazioni per svolgere le funzioni più svariate.

Esistono  però  moltissimi  tipi  di  smartphone  che  montano  sistemi operativi differenti: si va da Android a Apple, da RIM a Windows Phone. Ognuno di questi ha caratteristiche diverse, che lo rende migliore per una certa clientela piuttosto  che per un’altra. Tra i tanti sistemi operativi presenti, uno di cui vale la pena parlare è Android.  Tutto il mondo Android ruota attorno alla parola “open source”: infatti si ha libero accesso a tutti gli strumenti utilizzati dagli sviluppatori stessi di Android e quindi il potenziale delle applicazioni sviluppate da terzi non è soggetto a limitazioni, visto anche che applicazioni native e di terze parti hanno lo stesso peso.  Inoltre, chiunque può sviluppare per Android senza dover acquisire software o licenze particolari.

Perchè la piattaforma Android?

Il mercato della telefonia mobile ha conosciuto, negli ultimi anni, un notevole sviluppo.  In breve tempo si è passati da dispositivi che oggi ci parrebbero enormi e poco pratici, con lo schermo in bianco e nero e l’antenna sporgente, a dei veri e propri mini computer, sempre più curati nel design e nelle prestazioni, i cosiddetti smartphone. Chi oggi vuole acquistare uno di questi telefoni intelligenti, di sicuro si imbatterà in un logo molto conosciuto:  un simpatico robottino verde.  Questo è  il  simbolo  di  Android,  una  piattaforma  di  esecuzione  gratuita  per dispositivi mobili, creata nel 2003 da Andy Rubin e acquistata da Google nel 2005.

Va fatta da subito una precisazione sul termine piattaforma, spesso abusato: una piattaforma è una base software/hardware sulla quale vengono eseguite o sviluppate applicazioni.

E’ importante quindi distinguere le piattaforme di esecuzione, cioè quelle dedicate all’esecuzione di programmi, comunemente note come sistema operativo, da quelle di sviluppo, cioè quelle utilizzate per sviluppare programmi. I due concetti non sono comunque così distanti: una piattaforma di sviluppo solitamente è  anche  di  esecuzione,  ma  non  necessariamente  una  piattaforma  di esecuzione è anche di sviluppo.

Nel mercato sono attualmente disponibili molte piattaforme di esecuzione, come Windows Phone, iOS, Symbian, LiMo, Bada, BlackBerry OS: perchè allora molti sviluppatori scelgono proprio Android?

Quando un programmatore decide di sviluppare un’app, deve anche scegliere su quale piattaforma questa potrà essere eseguita.  Si ritrova quindi davanti a due strade:

  1. Scegliere un linguaggio come Java, per Android, che è conosciuto, diffuso e molto utilizzato ma che dà forse troppe libertà.
  2. Scegliere un linguaggio meno flessibile ma che permetta di concentrarsi di più sul programma e meno sull’interfaccia, in quanto questa sarà gestita dal sistema operativo. Anche qui si arriva ad un bivio: il C# di Windows Phone oppure l’Objective-C di Apple.

Il linguaggio Java, rispetto al C, gestisce automaticamente il ciclo di vita  di un’applicazione  e  anche l’allocazione  della  memoria,  rendendo  più  semplice  lo sviluppo.  Android  inoltre è  completamente  open  source,  quindi  rende  possibile reperire, modificare e ridistribuire il codice sorgente adattandolo ad ogni dispositivo  e creandone la propria versione personalizzata ed   ottimizzata. E’  anche il sistema operativo  mobile  più  diffuso,  ha  una  gestione  di  grafica  e  audio  di  alta  qualità, le applicazioni native e di terze parti sono di uguale importanza e possono essere aggiunte o rimosse senza alcun vincolo.

La scelta di Android non porta tuttavia solo vantaggi dal punto di vista informa- tico, ma anche dal punto di vista economico. Pubblicare applicazioni sullo store di Android (Google Play), ha un costo di iscrizione di 25/30 euro ed è possibile programmare l’app con tutti i sistemi operativi per desktop più diffusi:  Windows, OS X e Linux. Scegliere iOS invece comporta un costo 4 volte superiore per l’iscrizione all’App Store e serve necessariamente un computer Mac per programmare, anche questo molto costoso.

Principali differenze che distinguono i diversi sistemi operativi

Perchè scegliere Android come piattaforma di sviluppo

Vediamo ora le principali differenze che distinguono i diversi sistemi operativi che  dominano  il  mercato. Come  vedremo  nel  prossimo  paragrafo,  Android è  la piattaforma  più  diffusa,  seguita  in  seconda  in posizione  da  Apple. Il  sistema proprietario Apple è sicuramente più user friendly, cioè è più adatto ad una clientela poco abituata ad utilizzare smartphone, ma d’altro canto per poter sincronizzare il telefono con il PC (scambio di foto, musica, e tanto altro ancora) o ottenere aggiornamenti software, richiede il costante utilizzo di programmi forniti da Apple, come  iTunes.

La  libertà  di  poter  installare  qualsiasi  applicazione,  anche  non  ufficiale,  rende Android migliore per gli sviluppatori, che possono così provare le loro applicazioni sui terminali senza dover per forza ricorrere ad un emulatore.  Poter ottenere il codice sorgente ha come effetto la possibilità di avere sempre diverse versioni del sistema operativo ottimizzate per ogni tipo di telefono e con funzionalità che la versione originale non aveva. Una famosa distribuzione di Android modificata, detta  Custom  ROM,  è  la  Cyanogen  Mod.  L’utilizzo  di  una  custom  ROM  dà all’utente i privilegi di root, cioè quei permessi che consentono all’utente di fare qualsiasi cosa col telefono, anche accedere o modificare risorse il cui accesso era stato impedito dalla ROM originale.  Si può fare qualcosa di simile anche in iOS tramite il cosiddetto “jailbreak”, che permette sì di avere nuove funzionalità, ma la licenza del sistema rimane comunque di Apple.  Dal punto di vista della flessibilità, iOS è molto meno personalizzabile di Android, il quale lascia maggior voce in capitolo all’utente.  Guardando al kernel, invece, entrambe sono basate su kernel  Linux.

Symbian,  invece,  sistema  proprietario  Nokia  fino  a  poco  tempo  fa,  è  stato abbandonato e sostituito da Windows Phone, sviluppato da Microsoft. Quest’ultimo ha introdotto una grande novità:  le tiles.  Le tiles sono delle tessere che si trovano al posto delle classiche icone e che rendono la ricerca di app e informazioni nel proprio telefono estremamente rapida. La sostanziale differenza tra i due sistemi operativi sta nel fatto che Windows Phone si concentra maggiormente sulla condivisione di informazioni su social network. Per il resto i sistemi sono quasi equivalenti, se non per il fatto che lo store di Android è sicuramente più  ricco di app, motivo per il quale molta gente opta per il robottino piuttosto che per Windows Phone.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

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