giovedì 15 gennaio 2015

[ANDROID] Alternative allo sviluppo nativo


Qualsiasi approccio alla programmazione Android, nativo o no, presenta dei pro e dei contro. Il nativo offre la possibilità di una gestione totale del dispositivo senza limiti, d’altra parte richiede spesso una programmazione molto professionale e si concentra esclusivamente su una piattaforma. Il non-nativo 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.

Alternative allo sviluppo non nativo sono:

- Apache Cordova e Steroids scaturiscono dal know-how nello sviluppo per Internet. 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.

- 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 mondoche 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. È 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.

lunedì 5 gennaio 2015

[ANDROID] SDK e ambiente di sviluppo


La programmazione su Android necessita di due strumenti softwares:

- JDK, il kit di sviluppo per la tradizionale programmazione Java, visto che questa è la tecnologia con cui realizzeremo i nostri programmi;

- IDE (ambiente di sviluppo integrato) che includa possibilmente tutti gli strumenti necessari al programmatore. 

Alternative più comuni ed entrambe valide sono Eclipse e Android Studio, tutti quanti facilmente reperibili su Internet con download gratuiti
Il vero pacchetto di strumenti che ci permetterà di vedere realizzati i nostri programmi per Android è Android SDK.
Iniziamo innanzitutto ad installare Java. È necessario recarsi presso il sito Oracle e scaricarne una versione per il proprio sistema operativo, specificando non solo la tipologia – Windows, Linux, Mac OS o Solaris – ma anche la versione, 32 o, meglio se se ne ha la possibilità, 64 bit. Una volta eseguito il download del pacchetto si procede all’installazione.

Eclipse

Eclipse è uno strumento gratuito e molto flessibile, ben noto da tanti anni a varie comunità di sviluppatori. In particolare, la sua natura modulare l’ha reso molto ricco di funzionalità mediante vari plug-in installabili al suo interno oltre che utilizzabile nella programmazione con vari linguaggi, primo tra tutti Java, ma anche C/C++, PHP ed altro ancora. 
Nel caso di Android è disponibile un bundle ossia un pacchetto completo già dotato degli ADT (Android Developer Tools) e con Android SDK già disponibile. Il link da cui è possibile raggiungerlo è https://developer.android.com/sdk/index.html
La pagina che ci accoglie spiega subito che con un singolo download avremo a disposizione Eclipse, gli ADT e Android SDK già pronti per essere usati. Le versioni disponibili, come per il JDK, si riferiscono ad ogni possibile sistema operativo. 
Dopo il download – di un pacchetto piuttosto corposo di circa 500 MB – è sufficiente procederne alla decompressione.

Android Studio

Un’alternativa giovane (neanche un anno di vita) ma molto promettente è Android Studio, sponsorizzato direttamente da Google e pensato appositamente per Android. Si può ottenere dal seguente link http://developer.android.com/sdk/installing/studio.html, anch’esso è già inclusivo di Android SDK. 
Nonostante questo interessantissimo strumento non sia ancora arrivato alla versione 1.0 dimostra di accogliere volentieri tutto ciò che di più utile può esserci per lo sviluppatore Android. 
Gli elementi di Android Studio che spiccano maggiormente sono:

- l’utilizzo di Gradle come strumento di build automation, atto quindi ad accompagnare lo sviluppatore nelle fasi di build, sviluppo, test e pubblicazione della propria app;

- disponibilità di un gran numero di template per la realizzazione di applicazioni già in linea con i più comuni pattern progettuali;

- editor grafico per la realizzazione di layout, molto pratico e dotato di un ottimo strumento di anteprima in grado di mostrare l’aspetto finale dell’interfaccia che si sta realizzando in una molteplicità di configurazioni (tablet e smartphone di vario tipo).

Android SDK

Ultima nota, diamo uno sguardo più ravvicinato all’Android SDK. Come detto esso viene già reperito congiuntamente all’installazione di Android Studio o di Eclipse e sarà reperibile, in entrambi i casi, aprendo la cartella contenente l’installazione dell’IDE. Un aspetto molto importante è che questo SDK è costituito da molti strumenti – programmi, emulatori, piattaforme per ogni versione di Android e molto altro – la cui composizione non è immutabile ma viene gestita tramite il programma Android SDK Manager, avviabile sia da Eclipse che da Android Studio. 
Grazie al Manager, il programmatore potrà profilare le piattaforme e gli strumenti presenti nel SDK nella maniera più congeniale al proprio lavoro.