Ho scelto il titanio per un'applicazione seria, sebbene non utilizzi la fotocamera. Penso che ci sia una varietà di cose che potrebbero giocare nella tua decisione ...
Se la tua app intende fare cose "fantasiose" con la fotocamera, o qualche elaborazione di immagine veramente pesante e così via, probabilmente stai meglio andando via nativo. Se invece vuoi semplicemente fare delle foto, e quelle saranno usate così come sono, o mandate a un server, o altro, allora Titanium dovrebbe funzionare bene. Il titanio ha alcune funzioni di elaborazione e di manipolazione delle immagini, ma come altri hanno detto, se si vuole veramente sfruttare l'hardware del dispositivo, è probabile che si desideri diventare nativi completi.
Va anche notato, e Appcelerator dice anche questo, che con un'app Titanium, non dovrai solo scrivere una singola app che funziona così com'è su tutti i dispositivi. Sarà necessario personalizzare l'interfaccia utente per ciascun dispositivo (o classe di dispositivo, ad esempio iPhone, Android), perché hanno interfacce utente diverse e flussi di interfaccia utente standard diversi e così via.
Tuttavia, uno dei potenziali vantaggi di Titanium è se non si conoscono Objective-C e/o Java e si conosce JavaScript (e nel mio caso, sto effettivamente utilizzando Coffeescript :). Oppure, se ti piacerebbe molto più scrivere il tuo lavoro con JS che con ObjC/Java. Questo è stato uno dei motivi principali per me. Ho fatto qualche objc dev in passato, e non me ne importa nemmeno, ma questo progetto che sto facendo è in un programma molto molto aggressivo, e sarebbe stato molto più efficace per me usare Titanium. Sono stato in grado di impostare e creare un'applicazione in modo estremamente rapido, e non ho intenzione di approfondire la conoscenza del linguaggio di programmazione che sto usando, bit di gestione della memoria (non puoi ignorarlo completamente con Titanium, ma in sostanza lo stanno facendo per te). Sulla base delle persone con cui ho parlato e del tempo che trascorrono con la gestione della memoria, i problemi di Interface Builder (questa è in gran parte la facilità di dimenticare le connessioni di configurazione o di agganciare varie cose, IB è in realtà un ottimo strumento), e così via, sono abbastanza contento di usare Titanium.
Mentre mi aspetto di fare una versione Android, ad un certo punto, non è una priorità. Ma sono contento di sapere che una grossa parte del mio codice app sarà riutilizzabile, testato, ecc. E che finirò per lo più solo per costruire/rinnovare l'interfaccia utente per Android, non riscrivere il codice di rete, la gestione dei dati , e così via. Il supporto per Android sarà molto meglio (presumibilmente) in Titanium 1.5, ma potresti voler aspettare quella versione per valutare Android se questa è una priorità.
Infine, Titanium dispone di un sistema "modulo", che consente di avvolgere il codice nativo, esponendolo come interfaccia JavaScript in Titanium. Stiamo per sfruttare questo per integrare una libreria di terze parti, e almeno per quello che ci serve, sembra molto facile da usare, e mi ha dato un po 'più di fiducia che se alcune particolari funzionalità native a cui abbiamo bisogno di accedere, avremmo una discreta possibilità di integrarlo mentre ancora utilizziamo Titanium, ma penso che dipenderebbe da quale fosse la particolare funzionalità nativa.
Buona fortuna e divertiti a costruire un'app mobile, è piuttosto divertente!
Ho uno sfondo java pesante, quindi sono d'accordo con te. Il mio obiettivo è ridurre il tempo di sviluppo complessivo, quindi se vado in titanio realizzerò questo obiettivo? –
Per ognuno di loro, perché non mi interessa molto Java, Eclipse e alcune delle decisioni di progettazione prese nell'SDK di Android. Sono molto più produttivo in Cocoa/Cocoa Touch, con gli strumenti di sviluppo di Apple, rispetto a qualsiasi altro ambiente in cui ho lavorato. Tuttavia, sono d'accordo con il tuo parere sul fatto che lo sviluppo nativo su Android sia la strada da percorrere, nello stesso modo in cui sostengono che è cosa fare per iPhone. –
@numes Penso che se non hai familiarità con Cocoa & Objective C e non stai cercando di fare qualcosa di assurdamente pazzo di Titanium dovrebbe farlo. La loro struttura per iPhone/iPad è dannatamente buona e tu sei produttivo praticamente immediatamente. –