2012-05-18 15 views
14

Questa domanda è abbastanza popolare e ci sono già molte domande ad essa relative. Ma alcuni di loro sono vecchi (come 6 mesi fa), e per la data corrente - Maggio 2012 ... sarà fantastico se riesci a digitare quale è meglio adesso!HTML5 vs Native App: quale scegliere ??

Attualmente sto lavorando su alcune app e la funzionalità multipiattaforma è un grosso problema qui. Mi piacerebbe sapere se posso usare HTML5 per le seguenti funzionalità.

  1. Creazione di un lettore musicale nella mia app (avrà bisogno di leggere tutte le playlist e riprodurli) - HTML5 (o) nativo?

  2. Utilizzo dell'accelerometro - HTML5 (o) Nativo?

  3. Uso della fotocamera - HTML5 (o) Nativo?

  4. Utilizzo di gesti (swype, ecc.) - HTML5 (o) Nativo?

  5. Funzionalità multi-touch & gestures - HTML5 (o) Nativo?

  6. Sviluppo di giochi 3D (o) 2.5D con fisica - HTML5 (o) Nativo? (Nativo potrebbe essere il miglior affare qui, ma io sono curioso di sapere come HTML5 farebbe in multi-piattaforma di gioco dev)

Se è possibile numerare le opzioni con la risposta corretta, e dare una ragione per perché avrei dovuto usare nativo/HTML5, sarebbe fantastico :)


Inoltre, quali sono i tuoi pensieri su Phone-Gap per il supporto nativo?

risposta

16

Creazione di un lettore musicale nella mia app - Entrambi. HTML5 potrebbe essere noioso.

Utilizzo dell'accelerometro - Nativo. HTML5 non lo sosterrà

l'uso della fotocamera - nativo. Html5 non lo supporterà

Utilizzo dei gesti - Nativo. Html5 può sostenere, ma si dovrà utilizzare una libreria esterna

funzionalità multi-touch & gesti - direi nativo, per la facilità di sviluppo

Lo sviluppo di gioco in 3D (o) 2.5D con fisica - Entrambe, alcune grandi librerie sono ora disponibili per entrambi i sistemi. Tuttavia, fare ciò che vuoi in HTML5 probabilmente non è facile al momento.

Più in generale, HTML5 offre la possibilità di scrivere il codice una volta per ogni sistema e quindi si chiede se funzionerà nello stesso modo ovunque.Le app native richiedono uno sviluppo specifico per ogni piattaforma, con i costi e i problemi di mantenimento di molti software nelle diverse fasi di maturità che conduce.

Tuttavia, se non hai bisogno di funzionalità specifiche, vai su HTML5. È ancora un po 'noioso scrivere codice su di esso finora, ma la qualità e la quantità di librerie disponibili aumenta ogni giorno. Usa CoffeeScript, ti farà risparmiare mal di testa.

Se la tua applicazione è progettata con responsive design in mente, sarai anche in grado di supportare computer, tablet e smartphone in un'unica applicazione.

+3

Sceglierei nativo per tutte queste funzioni – jbduzan

+1

Buona risposta: potrei anche aggiungere che HTML5 Audio e HTML5 Video non sono supportati in tutti i dispositivi - alcuni dispositivi e browser non supportano il formato mp3 ad esempio o altri formati. Altrimenti, dopo quasi 2 anni di sviluppo mobile questa domanda si adatta alla build .... Guardate Titanium che stanno per iniziare Windows Mobile - il mio miglior consiglio se la vostra azienda ha budget e tempo e sviluppatori e il progetto è come un complesso di giochi - Usa cacao per Apple, Java per Android e C# per WP7 - versioni di piattaforme separate come Angry Birds per esempio. – AlphaApp

+0

Ottima risposta! Il divario telefonico sembra sfruttare questi problemi: http://docs.phonegap.com/en/1.7.0/index.html. Cosa ne pensi di questo ? – Legolas

16

A meno che l'app non sia estremamente semplice, evita le cosiddette soluzioni multipiattaforma e crea nativi per ciascuna piattaforma. Se lo fai, sarai contento.

Se non lo fai, ti dispiacerà molto quando qualcosa si rompe su alcuni dispositivi ma non su altri, o quando ricevi una richiesta per aggiungere alcune funzionalità che alcuni dispositivi non supporteranno.

Fondamentalmente l'uso di una soluzione multipiattaforma è il minimo comune denominatore/adatto solo a semplici app/falso risparmio nella mia esperienza.

Solo il mio modesto parere basato su oltre 12 anni di sviluppo di software commerciale ed esperienza di provare entrambi gli approcci.

+0

Il divario telefonico sembra sfruttare questi problemi: http://docs.phonegap.com/en/1.7.0/index.html. Cosa ne pensi di questo ? – Legolas

+2

Penso che mi aspetterei che i documenti di PhoneGap abbiano un'opinione diversa, stanno provando a "vendere" phoneGap. Penso anche che sarebbe sensato rendersi conto che le "soluzioni" multipiattaforma non supporteranno le ultime e più grandi funzionalità non appena verranno rilasciate. – ader

+0

Capisco cosa intendi. Ero solo interessato a sapere come PhoneGap è stato in grado di raggiungere la capacità nativa. Ma sì, quello che dici ha senso :) Grazie! – Legolas