2010-11-01 11 views
6

Voglio costruire un'applicazione mobile/tablet la cui caratteristica principale sarà scattare foto con la fotocamera, la visualizzazione delle immagini e la ricezione di notifiche. Voglio anche indirizzare le piattaforme iphone, ipad e android.Appcelerator in titanio ne vale la pena per lo sviluppo di applicazioni basate su fotocamera su ipad, iphone e android?

Titanium Appcelerator suscitato il mio interesse per la sua croce fascino piattaforma. Tuttavia sono preoccupato perché ho letto recensioni contrastanti su SO e altri siti. Le cose che mi preoccupano sono:

  • Subpar supporto Android
  • supporto fotocamera non pienamente in grado (ad esempio ios 4.1 funzionalità HDR)
  • fotocamera supporto buggy

Lo scenario da incubo per me sarebbe investire tempo in titanio solo per scoprire in seguito che è un importante PITA e lasciarlo andare "nativo"

Si prega di condividere i tuoi pensieri ed esperienze.

risposta

3

Il supporto Android non è vicino come lo è per l'iPhone. Se dovessi solo dire iPhone, direi che avresti fortuna con Titanium. Tuttavia, penso che provare a creare una base di codice in Appcelerator e anche a utilizzarlo nel tuo ambiente Android potrebbe non essere la migliore esperienza.

Detto questo, l'IMO che esegue il codice Android/Java è molto più semplice del lavoro di Objective C/iPhone.

Nel peggiore dei casi, prenderei in considerazione l'utilizzo di Titanium per la versione iPhone & per Android in Java.

Puoi dare un colpo realizzandoli entrambi in Titanio, ma il caso peggiore codifica la versione Java.

Ho appena odio l'ambiente di sviluppo di Apple 'native' tanto oggettiva C e.

+0

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? –

+0

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. –

+0

@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. –

2

ho sviluppato un'applicazione videocamera Appcelerator-based e sono rimasto molto soddisfatto. Penso che alcune recensioni negative derivino dal fatto che è un po 'difficile da configurare (più a causa del pazzo processo di registrazione degli sviluppatori di Apple).

Una volta ho iniziato, è stato facile fare le cose come le sovrapposizioni sulla parte superiore dello schermo della fotocamera. Mi aspettavo davvero difficoltà con quella parte, ma ha funzionato bene.

Ho parlato con il team di Appcelerator in passato, e sono un ottimo gruppo con cui lavorare. Li ho visti reagire ad altri problemi degli utenti e mi fiderei che se avessi incontrato un bug reale, l'avrebbero risolto rapidamente.

+0

tim, hai scelto come target anche Android? se sì, qual è stata la tua esperienza (specialmente con la macchina fotografica)? –

+0

Questa parte è in corso, ma per una comprensione davvero approfondita di ciò che si intende trattare, guarda l'app Kitchen Sink che forniscono. Copre tutte le funzionalità che supportano (per entrambe le piattaforme) e puoi consultare il codice per vedere esattamente come funziona. Dopo una rapida analisi della documentazione e una semplice app Hello World, il Kitchen Sink coprirà tutto ciò di cui hai bisogno e capirai perché non sono preoccupato per il rischio :) https://github.com/appcelerator/KitchenSink e http://pages.appcelerator.com/ZTAKitchenSink.html –

3

Si consiglia di non utilizzare un toolkit multipiattaforma quando l'interazione con l'hardware del dispositivo è uno dei requisiti chiave dell'applicazione. Non ho mai lavorato con Titanium, ma trovo difficile credere che ti daranno lo stesso livello di accesso all'hardware che ottieni con i framework nativi.

In particolare, iOS 4.0 ha aggiunto un pasticcio di nuove funzionalità riguardanti la fotocamera, tra cui l'elaborazione di fotogrammi in diretta tramite AVFoundation, e trovo difficile credere che un framework di terze parti manterrà il passo con il progredire di queste piattaforme. Per essere onesti, è abbastanza semplice scrivere un'applicazione che interagisce con la fotocamera su iPhone al giorno d'oggi (conta il numero di essi su App Store come indicatore di ciò). Ho scritto un'applicazione per l'elaborazione di fotogrammi in diretta in circa sei ore l'altro giorno.

Non riesco a parlare per Android, ma immagino che occuparsi di telecamere sia abbastanza banale usando anche le API native.

È anche possibile trovare test delle prestazioni e debug dell'applicazione per semplificare l'utilizzo degli strumenti nativi rispetto a quelli forniti da terze parti. In particolare, Apple's Instruments è un'applicazione estremamente potente, ma facile da usare, per rintracciare i problemi di CPU e memoria all'interno dell'applicazione.

C'è anche l'aspetto comunitario. Troverà molte più persone che lavorano su Android e Cocoa Touch che su Titanium (guarda i numeri di domande nei vari tag su Stack Overflow per vederlo). Questo significa molti più tutorial e un codice di esempio molto più che puoi usare.

Il tempo che trascorrerai a configurare gli ambienti di generazione iPhone e Android e l'invio a entrambi i negozi, sarà lo stesso, indipendentemente dall'ambiente nativo o Titanium.

Alla fine, anche con l'apprendimento di entrambe le piattaforme, penso che uscirai in anticipo evitando una soluzione multipiattaforma. Fidati di me, ho provato a fare lo sviluppo multipiattaforma prima per altri progetti e ho finito con prodotti a più basso denominatore comune che impiegavano molto più tempo a scrivere.

+1

Non penso che esaminare Stack Overflow per le domande relative al Titanium rifletta accuratamente le cose. Concordo sul fatto che il numero di sviluppatori Titanium è minore, ma Appcelerator ospita il proprio forum di domande e risposte, e credo che sia la maggior parte di noi a pubblicare domande (rispetto allo Stack Overflow) quando si tratta di Titanium. – chrisrbailey

+0

@chrisrbailey - Stack Overflow può essere un luogo ingiusto da confrontare, perché è diventato una risorsa fondamentale per gli sviluppatori di iPhone e Android. Tuttavia, ritengo ancora che la stragrande maggioranza degli sviluppatori di iPhone là fuori stiano usando Cocoa Touch. Di tutti gli sviluppatori che ho incontrato al WWDC e ad altre conferenze, nessuno usa Titanium, alcuni utilizzano MonoTouch e tutti gli altri usano puro Cocoa Touch. Mi affido a queste persone come alla mia rete di supporto, così come agli ingegneri Apple, nessuno dei quali fornisce supporto in Titanium. –

+0

Oh, sono d'accordo sul fatto che Titanium è ancora molto piccolo in relazione alle scelte totali degli strumenti di sviluppo spazio delle app. Sono sicuro che CocoaTouch è al 99% +. MonoTouch, ragazzo, sarei interessato a vedere quanti ne usano. Titanium rivendica oltre 6000 applicazioni, ma questo include Android. Ne hanno di grandi in App Store come Get Glue. Ma sì, è ancora un giocatore piccolo. Ciò non significa che non sia qualcosa da considerare. Ci sono un paio di società di consulenza che fanno tutte le loro app mobili (ne sono a conoscenza): Intridea e Rigel Group, per esempio. – chrisrbailey

14

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!

+0

Ti rendi conto del Titanium come una grande risorsa per chi ha competenze di sviluppo web.Ecco come è stato presentato al C4, e ho potuto vedere i vantaggi per i progettisti o gli sviluppatori con un forte background nelle tecnologie web. Sono stato appena bruciato da toolkit cross-platform in passato. –

2

Un po 'in ritardo, ma i miei due centesimi ...

Onestamente credo che si possa realizzare prototipi molto rapidamente un'applicazione con Titanium Appcelerator e mettere a fuoco la funzione critica imposta per determinare se è lo strumento appropriato per voi.

Tutti gli sviluppatori hanno le opinioni e le esperienze che influenzano i commenti; gli sviluppatori hanno diversi modi di apprendere e diversi livelli di produttività ... Alla fine, si tratta di quanto sei più produttivo con gli strumenti a tua disposizione.

Dal momento che si sta affermando sin dall'inizio che si desidera fornire una soluzione a più piattaforme, penso che sarebbe una decisione sbagliata da parte vostra non spendere nemmeno una settimana o due per indagare su framework multipiattaforma e quindi fare il decisione basata sulla tua esperienza personale.

C'è Titanium Appcelerator e c'è anche PhoneGap, dove PhoneGap potrebbe aiutare voi è che non v'è la possibilità di estendere/migliorare il quadro di fondo attraverso la scrittura dei plugin (I wrote one for iphone) e c'è un uno Android sul mio blog anche ... questo può colmare le lacune mancanti quando ti muovi attraverso le piattaforme.

Inoltre, poiché l'interfaccia utente in una soluzione di intercapedine è basata su HTML5 Webkit, può darti un aspetto coerente su tutti i dispositivi, se lo desideri. Framework come jQTouch e JQuery Mobile vengono utilizzati per UX con PhoneGap Application

+0

Questo post è vecchio, ma visto che così tante persone l'hanno visto ho pensato di aggiornare la mia risposta, prima la risposta è SI e abbiamo fatto proprio questo, guarda l'applicazione che abbiamo creato qui https://itunes.apple. com/us/app/snapdash/id599657092? mt = 8 –

8

Abbiamo utilizzato titanio in uno dei nostri progetti per circa 2 mesi, e francamente la nostra esperienza con il titanio è troppo male.

Secondo la mia opinione, di seguito sono alcuni dei principali svantaggi di titanio:

1) La prima cosa è che non sarà possibile ottenere il debug di supporto a tutti (possiamo capire come il debugging richiede in qualsiasi del progetto e in una delle le tecnologie).

2) Titanium NON supporta pienamente tutte le funzionalità di Android/iPhone; oltre un certo livello non ti darà supporto.

3) Confrontando con Android/iPhone SDK, gli sviluppatori riceveranno molto meno aiuto da Internet e dalla libreria API (Titanium fornisce il file di aiuto della libreria API).

Questi sono i problemi generali che gli sviluppatori finali affrontano mentre si occupano di Titanium e suppongo che a volte sarà un lavoro noioso e frustrante per loro.

Se la funzionalità dell'applicazione è simile alla visualizzazione di dati dal Web (come molte notizie, app di tipo di supporto), Titanium è l'opzione adatta; altrimenti no.

1

Qualcuno ha evidenziato il costo del titanio.

Sono stato contattato da loro oggi e se sei più di una band di un uomo devi iscriverti a un programma di partnership, altrimenti sei ritenuto responsabile per la durata del contratto se rilasci l'app.

Il programma di partnership è £ 5000, che è di gran lunga molto per noi come start up quando è la nostra prima applicazione, al momento stiamo cercando un'opzione diversa.

2

Ho esaminato il feedback negativo per Titanium Appcelerator ma sono completamente d'accordo con Aaron Saunders che se si utilizza PhongeGap Development è supportato HTML5 che può diventare facile creare app per iPhone, iPad e Android.

Problemi correlati