Archivio

Posts Tagged ‘android’

Titanium VS PhoneGapTitanium VS PhoneGap

29 gennaio 2012 Nessun commento

Lo sviluppo di applicazioni mobili è uno delle killer-app degli ultimi anni, ma quali problemi si nascondono dietro al loro sviluppo?

I problemi principali nel convertire un’idea vincente in un’app sono due:

1. la grande varietà di piattaforme diverse presenti sul mercato (ad es. iOS, Android, webOS, WP7, solo per citarne alcune)
2. i diversi fattori di forma dei device, fatta eccezione per l’iPhone che ha delle dimensioni pressoché uguali tra le versioni

Per quanto riguarda il secondo problema si sta cercando di adottare uno standard comune tra i diversi costruttori anche se la strada è ancora lunga, mentre sul primo problema l’ostacolo più grande da superare è quello di dover usare linguaggi di programmazione diversi in base alla piattaforma. Ad esempio se dobbiamo sviluppare un’app per Android useremo Java; un’app per iPhone useremo Objective C; e così via. Questo implicherà per un’azienda avere più linee di sviluppo separate e replicare per ciascuna piattaforma gli interventi di manutenzione e/o di evoluzione dell’app.
Proprio dall’esigenza di riuscire a scrivere il codice una sola volta e deliverare su più piattaforme sono nati dei tool di sviluppo mobile cross-platform. Ce ne sono in commercio diversi, la maggior parte di essi si possono utilizzare gratuitamente, ed il guadagno principale delle aziende che li hanno creati deriva dai corsi di formazione, sparsi per il globo o in via telematica, per i developer che decidono di usarli. Una panoramica degli ambienti di sviluppo per mobile si può trovare qui.

I due tool più famosi che voglio presentare e mettere a confronto sono: Titanium di Appcelerator e PhoneGap di Nitobi (acquistato da qualche mese da Adobe). Entrambi permettono di scrivere la proprio applicazione usando HTML5, CSS e JavaScript e deployare applicazioni native per diverse piattaforme. La documentazione è ben fatta e ci sono molti esempi per entrambi.

Di seguito due brevi video che li presentano:

Per quanto riguarda le differenze tra i due:

  • Titanium ha un maggior numero di API e di componenti UI native rispetto a PhoneGap;
  • Titanium è sotto licenza Apache che è più rigida della MIT di PhoneGap;
  • Titanium ha come target platform: Android, iOS e presto BlackBerry;
  • PhoneGap ha come target platform: Android, iOS, BlackBerry, Symbian, webOS, WP, Bada;
  • Titanium ha un proprio IDE Eclipse based, Titanium Studio, derivato da Aptana.

Al di là di quale dei due si sceglierà di usare, come detto in precedenza permettono di scrivere una sola volta il codice ed ottenere applicazioni native per più piattaforme, ma ci sono due problemi principali nel loro uso:

  1. se vi sono dei bug nel framework di Titanium o PhoneGap, nonostante le relative aziende che sono dietro questi prodotti si sforzino di essere il più celeri possibili nel bug fixing, la loro risoluzione potrebbe prendere un po’ di tempo. Come si può immaginare, se questi bug sono bloccanti per noi, il ritardo nella loro risoluzione causerà disagi e rallentamenti nello sviluppo della nostra app ;
  2. quando viene rilasciata una nuova versione di una piattaforma (ad es. il recente iOS 5) non si potrà immediatamente deployare per la nuova piattaforma, ma si dovrà attendere la release del framework che conterrà l’allineamento del framework stesso per la nuova versione della piattaforma.

In conclusione, dalla mia esperienza con questi due strumenti, il mio consiglio è che se dobbiamo sviluppare applicazioni complesse è preferibile capire in quale piattaforma mobile ricade il bacino più consistente dei nostri user target e sviluppare direttamente un’app nativa per quella piattaforma e solo in un secondo momento arrivare nei marketplace delle altre piattaforme. Mentre è preferibile usare questi tool per applicazioni semplici.

Categorie:mobile Tag: , , , , ,

Installare Titanium su Ubuntu 10.4

13 aprile 2011 Nessun commento

Prima di procedere all’installazione di Titanium Developer su ubuntu si deve verificare che sia installata la Sun JDK 1.6 e installare l’SDK di Android.

Se la JDK non è installata si può seguire questo articolo in cui illustro come installarla.

Per iniziare l’installazione dell’SDK (Software Development Kit) di Android occorre scaricarla da qui, ovviamente scegliere la versione Linux (i386).

Supponendo di aver scaricato il file compresso nella cartella Downloads, creare una nuova cartella chiamata opt nella home dell’utente (es. nel mio caso è /home/alessandro/) e spostare il file scaricato nella suddetta cartella opt. A questo punto decomprimere il file compresso digitando sul terminale

tar xzf NOME_DEL_FILE.tgz

ora entrare nella cartella tools presente all’interno della cartella ottenuta dopo la decompressione. Di seguito una immagine che illustra meglio i vari passaggi dalla fine del download in poi

Una volta nella cartella tools lanciare l’installazione dell’SDK e dell’AVD Manager scrivendo sul terminale

./android

quando si aprirà la finestra dell’AVD Manager cliccare su Available packages e scegliere quali repository e add-on installare

e premere su Install Selected. Nella schermata successiva selezionare Accept all e cliccare su Install.

Se viene chiesto di riavviare l’ADB per un aggiornamento portato a termine scegliere OK. L’ADB (Android Debug Bridge) è un tool che gestisce lo stato di un’istanza dell’emulatore o di un dispositivo Android collegato.
In passato l’ADB si trovava nella cartella tools, ma ora è stato spostato in platform-tools, pertanto occorre copiare il file adb dalla cartella platform-tools nella cartella tools digitando

cp /home/NOME_UTENTE/opt/android-sdk-linux_x86/platform-tools/adb /home/NOME_UTENTE/opt/android-sdk-linux_x86/tools

A questo punto l’SDK e l’AVD (Android Virtual Device) Manager sono installati e la cartella tools contiene il file adb. Non resta che modificare il file bashrc per poter eseguire l’ADB in qualsiasi punto. In Ubuntu le impostazione della shell bash sono contenute nel file bashrc e per impostare un path raggiungibile da qualsiasi directory ci troviamo.

Per fare ciò spostarsi nella home dell’utente digitando

cd /home/NOME_UTENTE/ (nel mio caso quindi /home/alessandro/)

ed aprire il file bashrc con nano (o qualsiasi altro editor) digitando

nano .bashrc

all’interno del file scrivere

PATH=$PATH:/home/NOME_UTENTE/opt/android-sdk-tools_x86/tools
export PATH

NB: fare molta attenzione alle lettere durante la modifica del file, perché una sola lettera in più o in meno significherebbe indicare un path errato e quindi non riuscirere ad eseguire l’ADB.

Ora non resta che verificare che tutto sia stato eseguito correttamente digitando

adb

se l’output è come il seguente tutto è andato correttamente

per terminare l’esecuzione dell’ADB appena lanciata digitare

adb kill-server

Ora che la JDK e Android sono installati sulla macchina si può finalmente procedere con l’installazione di Titanium Developer. Scaricare il file compresso da qui scegliendo la versione per Linux (32 bit). Una volta scaricato spostarlo nella cartella opt e decomprimerlo come illustrato di seguito

Spostarsi nella cartella Titanium Developer-1.2.2 ottenuta dopo la decompressione e per lanciare l’installazione digitare

./Titanium Developer

Potrebbe esserci un errore come il seguente

se così fosse per risolverlo digitate questi comandi

rm ~/.titanium/runtime/linux/1.0.0/libgobject-2.0.*

rm ~/.titanium/runtime/linux/1.0.0/libglib-2.0.*

rm ~/.titanium/runtime/linux/1.0.0/libgio-2.0.*

rm ~/.titanium/runtime/linux/1.0.0/libgthread-2.0.*

rilanciare l’installazione di Titanium Developer come sopra. Si aprirà una finestra come la seguente e cliccare su Install

A questo punto creare un elemento nel menu principale che permetta di eseguire Titanium Developer cliccando il tasto destro del mouse su Applications nella barra dei menu di Ubuntu e selezioniamo Edit Menus. Scegliere Programming, cliccare su New item, dare il nome desiderato e in Command: navigare fino ad arrivare al file Titanium Developer che nel mio caso si trova in /home/alessandro/opt/Titanium Developer-1.2.2/

cliccare sul menu appena creato in Applications > Programming e si aprirà una finestra come la seguente in cui effettuare l’accesso o registrarsi

dopo l’accesso si avrà la seguente schermata

cliccare su New Project e riempire i campi del nuovo progetto come di seguito

Se viene chiesto dove sia una SDK cliccare su sì, navigare fino alla cartella /home/NOME_UTENTE/opt/android-sdk-linux_x86/ e cliccare su OK.

Ora che il progetto test è creato, selezionarlo e cliccare sul tab Test & Package. Scegliere come SDK la 2.2, come Screen l’HVGA e cliccare su Launch

con un po’ di pazienza, data la lentezza dell’emulatore di android, verrà lanciata l’applicazione di test e questo è il risultato

Bene! Se siete arrivati fin qui vuol dire che siete riusciti a configurare il vostro ambiente Titanium Appcelerator su Ubuntu e potrete quindi lanciare i vostri progetti sull’emulatore di Android! ;)