2014-05-18 13 views
15

Io, come molti altri, sto cercando di avventurarmi nello sviluppo di app per dispositivi mobili. Conosco HTML5, CSS3, JavaScript, PHP, Ruby, .NET ma non Java o Objective-C. Ad essere onesti, è improbabile che diventi un guru degli sviluppatori di dispositivi mobili e le app che svilupperò difficilmente riescono a spingere i limiti dell'ibrido a tal punto che dovrei diventare nativo comunque. Quindi la sfida per me è acquisire conoscenze sufficienti per allinearmi in modo sicuro a una delle piattaforme di sviluppo ibride mainstream, sapendo di aver preso la decisione giusta in base alle mie esigenze.RhoMobile Suite vs Titanium vs Xamarin vs. PhoneGap vs. Piattaforma Telerik e Codename One

Ho letto i messaggi simili su SO e la ricerca attualmente popolare sviluppo di applicazioni mobile ibrida 'soluzioni', tra cui:

Xamarin titanio Rhomobile PhoneGap La piattaforma Telerik

Sono venuto alla conclusione, la decisione su cui andare non è così semplice. In effetti, non sono più vicino a prendere una decisione rispetto a quando ho iniziato. Mi rivolgo quindi alla comunità per raccomandare quali opzioni si basano sui miei criteri specifici (che credo rispecchino la maggior parte degli sviluppatori autonomi che lavorano su una piccola base progetto per progetto piuttosto che un team di sviluppo aziendale più grande con la possibilità di finanziare la licenza costi, ecc.)

Le app che creerò necessiteranno di versioni per Android e iPhone e dovrebbero essere in grado di accedere alle funzioni base del telefono, tra cui: Fotocamera, Accelerometro, Geolocalizzazione, Avviso, Memoria locale, G-Sensor, ecc. ma non molto di più.

Quindi, questo post non è un soggettivo 'qual è il migliore?', Invece sto cercando le raccomandazioni in base ai seguenti requisiti:

  1. libero (preferibilmente) ma almeno a prezzi accessibili al ometto così: 1a. Abbonamento mensile conveniente (se necessario) 1b. Nessuna spesa di licenza nascosta quando si tratta di distribuire le mie applicazioni: questa è una grossa.

  2. La piattaforma Dev deve essere installata su Windows e Mac (quindi posso creare da sola la piattaforma) 2a. In alternativa, qualsiasi servizio di costruzione online integrato dovrebbe essere conveniente

  3. L'ambiente deve essere semplice da installare e configurare (esiste una soluzione del genere? Quasi tutto ciò che ho provato sembra avere qualche tipo di problema durante l'individuazione di file di riferimento, versioni, avvio emulatori ecc)

Come sviluppatore .NET MVC, Xamarin sembra la scelta più ovvia, ma il motorino di avviamento non può invocare le librerie 3a parte - immagino avrei bisogno di questo - e la mala pena a prezzi accessibili 'Indie' a $ 299 è per anno per piattaforma e non sono sicuro che offrirebbe tutte le funzionalità necessarie. La versione Enterprise a $ 1899 all'anno per piattaforma è ben oltre il budget.

Rhomobile Suite con il suo approccio MVC Ruby mi sembra una buona soluzione, ma la documentazione richiede attenzione (non aggiornata) e sembra esserci un'enorme ambiguità in merito alla concessione di licenze. Non riesco a trovare una risposta definitiva e non hanno risposto a una semplice richiesta. Ho trovato questo: "L'uso di RhoElements richiede una chiave di licenza, per utilizzare solo le funzionalità non aziendali (ad esempio un'app Rhodes) basta rimuovere app_type: rhoelements dal tuo build.yml." - certo che probabilmente avrei bisogno di RhoElements! Esame delle licenze delle applicazioni (su docs.rhomobile.com sito) sembra che tu possa ottenerli da Motorola Solutions (o da un mucchio di altri rivenditori) ma in genere non riesco a trovare un prezzo. Questo mi preoccupa: posso prevedere che mi verrà addebitato un costo di $ 10.000 quando distribuirò agli app store.

Il titanio ha anche ambiguità rispetto alle licenze. Alcuni sostengono che siano stati inseguiti per $ 5000 licenze da rivenditori del Regno Unito altri suggeriscono che è semplicemente sbagliato e non ci sono costi di licenza. Ancora una volta, nessuna idea ...

In confronto, PhoneGap sembra spuntare le caselle e non vedo preoccupazione per le licenze, ma rispetto alle altre soluzioni che ha bisogno di più di un processo manuale con risultati non lucidati - anche se ciò potrebbe essere più legato alle app che ho visto negli esempi piuttosto che alla capacità della piattaforma.

La piattaforma Telerik sembra buona a prima vista, ma dubito che l'offerta di 'sviluppatore' al prezzo corrente di $ 39 al mese (commercializzato come "ideale per armatori e hobbisti") sia sufficiente per cui guarderei un impegno di $ 79 al mese pagato in anticipo di un anno - ahi! Sono anche incerto se questo costo copre tutte le licenze di applicazioni complete (lo spero).

Come uno dei miei criteri chiave è la facilità di installazione, configurazione e creazione, mi sto appoggiando a Rhomobile o Telerik a seconda dei costi finali per me come lo sviluppatore per la creazione e l'invio di queste app.

Tutto considerato sono sulla buona strada o ancora molto disinformato?

Molte grazie.

+0

Si prega di evitare di fare domande che richiedono [pareri o si aprono discussioni indeterminato] (http://stackoverflow.com/help/dont-ask). – Jason

+0

Grazie a @Jason. Rielaborerò la domanda. – ChrisCurrie

+0

Xamarin è più di un approccio cross-platform nativo in cui è ancora necessario conoscere le piattaforme e le interfacce utente native. – SKall

risposta

2

Disclaimer: Lavoro per Motorola Solutions, che rilascia la Suite RhoMobile.

La Rhomobile Suite comprende prodotto diverso:

  • RhoStudio: IDE basato su Eclipse
  • Rodi quadro: libero, licenza MIT, per creare applicazioni B2C
  • RhoElements Framework: B2B quadro licenza, costruito su top of rhodes che offre supporto per la codifica dei dati, scansione di codici a barre, supporto Windows Mobile e Windows CE
  • RhoConnect: quadro di sincronizzazione e integrazione (licenza necessaria)
  • RhoHub: hosting di RhoConnect e build server per Rhodes/RhoElements (necessita di licenza per uso commerciale)
  • RhoGallery: App Store aziendale. (è necessaria la licenza per uso commerciale)

L'applicazione che si intende compilare necessita solo dell'API Rhodes. Puoi trovare su this table quale API richiede una licenza RhoElements. Così puoi costruire la tua app con Rhodes, distribuirla su AppStore e PlayStore senza dover acquistare alcuna licenza.

È possibile trovare supporto tramite la comunità utenti gratuita su Launchpad.

Per quanto riguarda il supporto a pagamento e le licenze RhoElements/RhoConnect/RhoHub/RhoGalley, questo cambierà durante l'estate per essere allineato al modello di abbonamento utilizzato da altri framework multipiattaforma sul mercato.

+0

Molte grazie. Mi piace il suono di RhoMobile. Quindi, per confermare, posso usare RhoStudio per creare gratuitamente un'app basata sul framework basato su Ruby "Rodi" open source. Il tuo sito afferma che le applicazioni create utilizzando Rhodes sono vere e proprie applicazioni native (NON le app Web mobili come con la soluzione Telerik)?Che ne dici di creare le applicazioni pronte per la distribuzione negli app store? Questo dipende da RhoHub che vedo richiede una licenza per uso commerciale? Se è così, Rhodes potrebbe essere libero di usare, ma ci sarà ancora un costo quando si tratta di distribuzione. Potete consigliare questo costo? Grazie molto. – ChrisCurrie

+0

È possibile creare localmente un'applicazione Rodi, non è necessario utilizzare RhoHub. Hai semplicemente bisogno della toolchain nativa sul tuo computer locale (Android SDK e NDK per Android o XCode e iOS SDK per iOS). Quindi, per essere chiari, è possibile sviluppare, compilare e distribuire un'applicazione Rodi, senza dover pagare nulla a Motorola Solutions. Per quanto riguarda il costo dei prodotti aziendali (RhoElements, RhoConnect, ecc.) È possibile aspettarsi un prezzo in linea con ciò che Xamarin offre. – pfmaggi

1

Felice di sapere che hai guardato la piattaforma Telerik. Lavoro per Telerik nel nostro team di Product Management e sono felice di rispondere a qualsiasi domanda dettagliata sull'abbonamento, sia qui che via e-mail all'indirizzo satrom AT Telerik.com.Sentiti libero di mandarmi una linea in qualsiasi momento.

Detto questo, l'abbonamento per sviluppatori che hai guardato effettivamente controllare tutte le caselle (come li capisco, in base alla lista di cui sopra) per voi, comprese le licenze. Le app che sviluppi con la piattaforma Telerik sono le tue app e non ci sono costi aggiuntivi o costi oltre alla sottoscrizione stessa, anche a livello di sviluppatori. Nonostante il suggerimento della copia del sito web che questo abbonamento è per "solo tinkerer", mi sembra che funzioni per te, e che non ci sia bisogno di spendere $ 40 in più al mese per l'abbonamento Pro.

Mi piacerebbe chattare di più sulle vostre esigenze specifiche e vedere se posso aiutarvi a determinare al 100% se la piattaforma è in forma, quindi sentitevi liberi di mandarmi una linea, o di follow-up qui con un commento.

+0

Mille grazie. Quindi numero di progetti 5 e numero di app che posso distribuire con App Manager 2. Si tratta di un mese? Dev non offre connettori dati. Quindi se ho il mio server di database non riesco a collegarmi direttamente ad esso? Presumibilmente leggere/scrivere dati attraverso i servizi web sarebbe possibile in alternativa? Se desidero utilizzare le notifiche "Push", queste verrebbero instradate attraverso la vostra piattaforma e questo comporta un costo? Ci sono approcci alternativi? Non sono riuscito a visualizzare un elenco di API telefoniche disponibili tramite il sito. Presumibilmente è il set di Cordova API? Molte grazie. – ChrisCurrie

+2

Con l'abbonamento Telerik Platform Developer è possibile avere cinque progetti AppBuilder alla volta e il livello Professional non ha limiti. È possibile connettersi al proprio server db tramite i propri servizi Web, sì. Le notifiche push sono supportate dall'offerta dei servizi back-end (disponibile anche nell'abbonamento allo sviluppatore). E sì, Cordova è usato da AppBuilder. –

2

Ho utilizzato PhoneGap per creare una serie di app multipiattaforma nel 2009 e poi passato all'SDK Titanium gratuito nel 2010 che utilizzo da allora in molti altri progetti.

Ho dato uno sguardo superficiale a Xamarin (sembra abbastanza buono) e ad altre piattaforme come React ecc. Ma in realtà è in grado di fornire un feedback adeguato su PhoneGap/Titanium.

La possibilità di avere un unico codice di base per entrambi iOS/Android davvero mi fa risparmiare un sacco di tempo. Con questo in mente, trovo il vantaggio di una soluzione multipiattaforma molto efficiente per la creazione di app.

Avendo fatto un sacco di PhoneGap, ho scoperto che era molto difficile mantenere questi progetti perché non c'era un modo comune di fare le cose e anche l'aspetto estetico richiedeva un sacco di tubature personalizzate. Anche le interfacce HTML e native erano molto goffe.

titanio e soprattutto la struttura in lega di titanio ha risolto molti di questi problemi per me. Alloy è un po 'come un taglio anticipato di Ruby on Rails. Rende la GUI di strutturazione delle app molto più coerente tra i progetti e ha migliorato significativamente la mia produttività.

Ricevo circa il 80-90% di riutilizzo del codice con phonegap o titanium su iOS/Android e quindi devo scrivere circa il 10-20% di codice personalizzato per piattaforma (ad esempio l'integrazione di librerie di fatturazione di terze parti e notifiche push ecc. .).

Detto questo, spesso trovo che la funzionalità più complicate, come le notifiche push o pull personalizzato per aggiornare i widget ecc sono di solito abbastanza difficile su tecnologie multi-piattaforma come non c'è un sacco di buoni tutorial e documentazione là fuori ancora. L'ho messo in questo tipo di tecnologia che è ancora abbastanza nuova.

La mia esperienza è stata che la piattaforma di titanio è stata piuttosto buona e il loro team è costantemente rilasciando aggiornamenti e miglioramenti. È libero di usare il loro SDK che è un fattore del perché lo scelgo invece di un abbonamento a pagamento come Telerik o Xamarin.

Hanno un modello SAAS pagato (tramite la loro entità padre appcelerator) che stanno spingendo verso i clienti aziendali ma è qualcosa che non mi preoccupo di come sviluppatore indipendente. vale a dire. invece di usare il loro servizio di notifica push, faccio solo il mio.

Sarà interessante vedere quale delle tecnologie cross platform ottiene il miglior up-take andare avanti.

Se stavo creando una nuova app da zero oggi, probabilmente darei un'occhiata a Titanium e Xamarin e probabilmente anche a React/Rubymotion/Telerik ecc.

Sarebbe davvero bello se esistesse un sito Web o un post di confronto indipendente che mostrava il codice su come creare una vera app cross platform con un'interfaccia leggermente complicata su ciascuna piattaforma.

0

Disclaimer: io lavoro per Codename One.

Codename One consente di incorporare un PhoneGap/Cordova application ma è diverso da qualsiasi delle altre piattaforme. Per esempio. nel caso di Xamarin puoi leggere alcuni dei miei pensieri nello Xamarin forum.

Codename One supporta OS nativo costruisce, permette di scrivere codice in Java e farlo funzionare in tutto il mondo. Il suo open source (a differenza di Xamarin, Telerik, ecc.) E ha un utile e utilizzabile livello gratuito che ti permette di valutarlo in modo appropriato abbinato a un'opzione di pagamento mese per mese per funzionalità avanzate.

A differenza di alcune altre opzioni elencate è possibile utilizzare l'IDE Java comune di propria scelta, supportiamo NetBeans, IntelliJ & Eclipse.

Codename Uno può essere esteso con codice nativo e ci sono molti 3rd party libraries built specifically for it.

Codename One è una soluzione matura basata su software open source sviluppato presso Sun Microsystems dal 2006. La sua utilizzati a livello globale dagli sviluppatori di tutti i livelli da individuale/hobbisti a società Fortune 500.

Si può leggere di più sulla sua architettura unica nel How does Codename One work?