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).
fonte
2013-10-21 06:29:11
C'è un vero e proprio articolo su questo. Spero che vi aiuterà http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ – andykkt
Grazie @andykkt L'articolo è buono per il problema di gestione della memoria! –
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 –