14 votes

HTML5 vs Native App : Que choisir ? ?

Cette question est très populaire et il y a déjà beaucoup de questions qui s'y rapportent. Mais certaines d'entre elles sont anciennes (comme 6 mois en arrière), et pour la date actuelle - mai 2012 ... ce serait génial si vous pouviez taper laquelle est la meilleure à ce jour !

Je travaille actuellement sur des applications, et la fonctionnalité multiplateforme est un enjeu majeur. J'aimerais savoir si je peux utiliser HTML5 pour les fonctionnalités suivantes.

  1. Création d'un lecteur de musique dans mon application (qui devra lire toutes les listes de lecture et les jouer) - HTML5 (ou) Native ?

  2. Utilisation de l'accéléromètre - HTML5 (ou) Native ?

  3. Utilisation de l'appareil photo - HTML5 (ou) Native ?

  4. Utilisation gestes (swype, etc.) - HTML5 (ou) Native ?

  5. Capacités multi-touch & gestures - HTML5 (ou) Native ?

  6. Développement d'un jeu en 3D (ou) 2.5D avec physique - HTML5 (ou) Native ? (Natif pourrait être la meilleure solution ici, mais je suis curieux de savoir comment HTML5 se débrouillerait dans le développement de jeux multiplateformes)

Si vous pouvez numéroter les options avec la bonne réponse, et donner une raison pour laquelle je devrais utiliser native / html5, ce serait génial :)


Par ailleurs, que pensez-vous de Phone-Gap pour le support natif ?

16voto

ClemKeirua Points 539

Créer un lecteur de musique dans mon application - Les deux. HTML5 peut être fastidieux.

Utilisation de l'accéléromètre - Native. Html5 ne le supportera pas

Utilisation de l'appareil photo - Native. Html5 ne le supportera pas

Utiliser des gestes - Native. Html5 peut le supporter, mais vous devrez utiliser une bibliothèque externe.

Capacités et gestes multi-touch - Je dirais "natif", pour la facilité de développement.

Développement d'un jeu 3D (ou 2.5D avec physique) - D'excellentes bibliothèques sont désormais disponibles pour les deux systèmes. Cependant, faire ce que vous voulez en HTML5 n'est probablement pas facile pour le moment.

Plus généralement, HTML5 vous donne la possibilité d'écrire votre code une fois pour chaque système et de vous demander ensuite s'il fonctionnera de la même manière partout. Les applications natives nécessitent un développement spécifique pour chaque plateforme, avec les coûts et les problèmes de maintenance de nombreux logiciels à différents stades de maturité que cela entraîne.

Cependant, si vous n'avez pas besoin de fonctionnalités spécifiques, optez pour HTML5. Il est encore un peu fastidieux d'écrire du code avec, mais la qualité et la quantité de bibliothèques disponibles augmentent chaque jour. Utiliser CoffeeScript Cela vous évitera des maux de tête.

Si votre application est conçue avec conception réactive vous pourrez également prendre en charge les ordinateurs, les tablettes et les smartphones dans une seule application.

16voto

ade Points 4561

À moins que votre application ne soit extrêmement simple, évitez les solutions dites multiplateformes et créez une application native pour chaque plateforme. Vous vous en féliciterez.

Si vous ne le faites pas, vous serez désolés lorsque quelque chose se cassera sur certains appareils mais pas sur d'autres, ou lorsque vous recevrez une demande d'ajout de certaines fonctionnalités que certains appareils ne prendront pas en charge.

Fondamentalement, l'utilisation d'une solution multiplateforme est le plus petit dénominateur commun / ne convient qu'aux applications simples / fausse économie d'après mon expérience.

Ce n'est que mon humble avis, basé sur plus de 12 ans de développement de logiciels commerciaux et sur l'expérience que j'ai acquise en essayant moi-même les deux approches.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X