2013-10-21 23 views
16

Voglio sviluppare una semplice App per iOS, Android e Windows Phone.Quale è meglio? App nativa o app ibrida?

Mi chiedevo solo che una semplice combinazione HTML5, JS e CSS possa funzionare su tutte queste piattaforme.

Voglio sapere quale sarà efficiente?

Nessun problema con il tempo e la codifica. Ma se riesco a realizzare tutto con HTML5-JS stesso, sceglierò lo sviluppo ibrido. Voglio conoscere la differenza principale tra lo sviluppo ibrido e nativo dello con l'esempio (So che la differenza principale è che HTML5-JS supporta la piattaforma multipla).

Nota: non sto facendo un'app di gioco.

+3

C'è un vero e proprio articolo su questo. Spero che vi aiuterà http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ – andykkt

+0

Grazie @andykkt L'articolo è buono per il problema di gestione della memoria! –

+0

Nel mondo mobile, termini come app nativa, app web e app ibrida sono molto comuni ma qual è la differenza? Ecco una piccola spiegazione. http://markupjavascript.blogspot.in/2013/11/native-apps-web-apps-hybrid-apps-what-is-the-difference.html –

risposta

31

Nella mia esperienza, queste soluzioni multipiattaforma come PhoneGap e altri non rispondono mai alle aspettative a meno che l'app che stai sviluppando sia semplicissima. Anche le cose di base come le animazioni di transizione e le piccole modifiche dell'interfaccia utente saranno una battaglia in salita che usa questi strumenti.

Lo sviluppo nativo potrebbe richiedere più tempo (se si sta costruendo un'applicazione per più di 1 piattaforma), ma il vantaggio è che si ottiene il pieno controllo su ciò che si sta facendo.Per quanto riguarda le prestazioni, lo sviluppo nativo è ancora, e sarà probabilmente sempre, molto più avanti rispetto allo sviluppo multipiattaforma, semplicemente perché non ha il sovraccarico di essere annidato all'interno di un browser, o qualsiasi altra piattaforma interpretativa runtime.

Inoltre, dalla mia esperienza, il mito di essere in grado di scrivere codice una volta e farlo funzionare su tutte le piattaforme istantaneamente è un sort'v Santo Graal. Molte persone affermano di averlo raggiunto, ma ti troverai sempre a scrivere codice specifico per piattaforma (nella forma di "se explorer, se safari, chrome" ecc.).

Il mio consiglio, scrivere la solida architettura per la tua app. Costruisci l'app una volta in una piattaforma, risolvi tutti i difetti del design, quindi copia il design su altre piattaforme. Ti ci vorrà un po 'di più, ma la forza della tua app e la flessibilità di aggiungere/modificare funzionalità e altre piccole cose nella tua app ne varrà la pena.

A titolo di esempio, prendere Facebook. La loro app precedente (se ricordi) era un'app multipiattaforma. Era lento, non reattivo, si sarebbe schiantato tutto il tempo ed era praticamente inutilizzabile. Circa un anno fa, dopo innumerevoli lamentele, hanno rilasciato un aggiornamento con la loro app nativa e improvvisamente tutti quei problemi sono scomparsi (beh, almeno la maggior parte).

+1

Ciò che mi piace però con l'approccio ibrido è che è rapido ottenere risultati poiché non è necessario attendere quando il dispositivo del nostro emulatore è pronto per aggiornare le modifiche. Con quello ibrido, spesso è sufficiente premere F5 nel browser. Come con http://ionicframework.com/ anche tu puoi riutilizzare il tuo codice mobile nella versione del tuo sito web che hai sviluppato. – ses

+0

ma quello che penso se l'applicazione non risponde quindi è spreco di tempo nello sviluppo di applicazioni ibride. – Ravi

6

La differenza principale riguarda il componente dell'interfaccia utente, che è la cosa principale in un'app. Non è possibile ottenere l'aspetto nativo e sentirsi come dialoghi nativi, notifiche e animazioni native in un'app Hybrid.

Desidero sapere quale sarà efficiente?

L'efficienza non è un problema, l'app ibrida sarà una singola app che supporterà più piattaforme, che è efficace in termini di costi e tempi.

A favore di applicazione ibrida

  1. redditizio, una singola applicazione saranno sviluppati risparmiando così il costo pagati allo sviluppatore per fare applicazione in piattaforma diversa.
  2. Tempo effettivo, il tempo verrà salvato per creare diverse app per le piattaforme diverse.
  3. Aggiornamento molto veloce, a differenza dell'aggiornamento da google playstore l'app verrà aggiornata solo sul lato server e non è necessario re-installare .
  4. Dimensioni ridotte. Poiché le risorse utilizzate per il supporto di più schermate verranno gestite da HTML.

CONS del app ibrida

  1. No guardare e sentire come applicazione nativa.
  2. L'app non mostrerà nemmeno il comportamento statico, se il server non funziona.

Se si è disposti a scendere a compromessi con l'interfaccia utente, è necessario utilizzare l'app Hybrid.

+0

in CONS di app ibrida, tu dici - 2) Ha bisogno di sviluppare diverse app per ogni piattaforma che aumentano i costi. Penso che sia solo una controversia ai vostri pro di applicazione ibrida - 1) costo effettivo –

+0

risposta Aggiornato, controlla ora –

+0

@Brontok "costi e tempo effettivo", "di dimensioni più piccole, l'aggiornamento veloce" - riguardo a ciò? Potresti essere più preciso? Vi sono costi nell'analisi dei requisiti, sviluppo, test, gestione dei progetti, marketing, strumenti e costi indiretti per l'assunzione e la formazione di sviluppatori per una particolare piattaforma e set di strumenti. IMHO, i tuoi PROS e CONS come dichiarato, non hanno senso. – CouchDeveloper