Come sviluppare app Android: ibrido o nativo?

29 settembre 2016

L’approccio alla programmazione Android appare del tutto agevole soprattutto grazie a due aspetti fondamentali già evidenziati: strumenti del tutto gratuiti e semplicità nell’apprestamento dell’ambiente di sviluppo. Ed in effetti è così. A volte però l’appassionato di tecnologia che si avvicina a questo mondo rischia di scoraggiarsi facilmente.

Ammesso che si possegga le skill necessarie del linguaggio Java, ci si accorge presto che un’infarinatura di sintassi spesso non è sufficiente. Per sfruttare degnamente le possibilità offerte dal framework è necessario essere dei buoni programmatori, consci delle principali problematiche da tenere sott’occhio in uno sviluppo professionale: ottimizzazione delle prestazioni, salvaguardia delle risorse a disposizione e via dicendo.

Ma allora che fare se non ci si sente attratti dalla programmazione di questo tipo, cosiddetta nativa, e non si vuole comunque rinunciare all’idea di vedere pubblicate le proprie app?

Alternative ce ne sono e consistono in strumenti – comunque validi – per lo sviluppo non nativo,  dall’approccio più visuale e spesso familiare a chi proviene dal web design.

Eccone alcuni:

  • un’intera generazione di soluzioni scaturisce dal know-how nello sviluppo per Internet: pensiamo ad Apache Cordova, Steroids e Ionic, solo per citare alcune delle numerose possibilità basate sui nuovi standard. In effetti: se CSS ha reso il Web elegante, Javascript gli ha dato vitalità e HTML5 l’ha rivoluzionato, perché non riproporre questi strumenti nello sviluppo mobile? Cordova è la versione open source del progetto PhoneGap e serve a realizzare le cosiddette app ibride con un’interfaccia realizzata in modalità web ma in grado di interfacciarsi con il sistema operativo mobile mediante un vasto numero di API. Steroids nasce per superare alcuni limiti riscontrati in PhoneGap ma senza “reinventare la ruota”, si basa infatti su Cordova ma approfondisce il legame con lo strato nativo. Ionic ha proposto invece un’innovativa architettura basata su AngularJS;
  • Corona SDK è un ambiente particolarmente versato alla gestione dell’interazione come per i videogiochi. Creato dai Corona Labs non necessità di alcuna conoscenza del linguaggio Java e propone come alternativa lo scripting in LUA, un formalismo dall’approccio molto semplice che permette di personalizzare maggiormente le proprie applicazioni;
  • Unity è il più diffuso motore per videogiochi del mondo. Il primato che gli spetta è pienamente meritato in quanto combina editor visuale di altissimo livello ma anche programmazione in tecnologie ad oggetti avanzate come C# oltre che gestione di altri aspetti fondamentali per i videogiochi come grafica, animazione e fisica;
  • AppInventor è probabilmente la possibilità più abbordabile per l’appassionato di tecnologia  a digiuno di programmazione e che desidera qualche risultato piuttosto rapido. E’ stato creato dai Google Labs come strumento per la rapida modellazione di app Android ed è stato successivamente ceduto al prestigioso M.I.T.. Intuitività e semplicità le sue chiavi di lettura principali;
  • esistono poi molte altre soluzioni multi-piattaforma, e tra queste Xamarin ha calamitato l’attenzione di tanti professionisti per il forte legame con il mondo Microsoft.

Nativo sì, nativo no. Qual è l’approccio migliore? Sicuramente entrambi hanno i loro pro e contro. Mentre da un lato il nativo offre la possibilità di una gestione totale del dispositivo senza la paura di trovare limiti, d’altra parte richiede spesso una programmazione molto professionale e si concentra esclusivamente su una piattaforma impedendo un’agile riciclo dei propri sforzi su altri mercati del mobile.

Il non-nativo – anche se è impossibile generalizzare data la diversità degli ambienti appena citati – offre vantaggi vari, ascrivibili a volte ad una minore necessità di programmare e molto spesso alla possibilità di creare applicazioni cross-platform distribuibili su sistemi operativi diversi.

Tutte le lezioni

1 2 3 4 ... 84

Se vuoi aggiornamenti su Come sviluppare app Android: ibrido o nativo? inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Come sviluppare app Android: ibrido o nativo?

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy