Retour

Application native vs application web HTML5

le 

Quel avenir pour les applications mobiles natives ? Les applications web HTML5 vont-elles se substituer à ces dernières ? Quelle voie privilégier lorsqu'on souhaite se positionner sur mobile ? Est-ce qu'une technologie ou des langages de programmation doivent être privilégiés ? Doit-on attendre pour créer une application mobile en ligne sans programmation ?

Ce débat occupe la communauté des développeurs depuis quelques temps. Pour que chacun dispose de l'information utile à cette réflexion, nous proposons de répondre aux deux questions suivantes :
  • Qu’est-ce qui distingue ces deux technologies ?
  • Quels sont leurs avantages et inconvénients respectifs ?

La présence sur mobile est désormais incontournable

C’est la première chose qu’il faut avoir à l’esprit. La part du trafic Internet par les mobiles se rapproche déjà de 20% toutes versions confondues.. La diffusion des smartphones ne cesse de croître et le marché des tablettes n'en est qu'à ses prémices. Au premier semestre 2011, environ 35% des mobiles étaient des smartphones. La plupart de ces smartphones incluent un navigateur complètement compatible HTML. La plupart des autres appareils supportent une forme allégée des fonctionnalités traditionnellement implémentées sur un navigateur. Les opérateurs télécoms offrent depuis quelques temps des accès illimités au web mobile. L'Internet mobile est entré dans nos vies, un point de non-retour a été franchi.

Une application universelle ?

Simplicité d’utilisation, coût de développement relativement faible, portabilité, accessibilité du code source, possibilité de travailler le référencement et de les distribuer au travers de multiples moteurs de recherche ; les applications web, ou WebApps, utilisant la technologie HTML5 (html5 apps) présentent certains avantages. Elles reposent sur les Standards du W3C et sont par définition indépendantes des appareils sur lesquels elles s’exécutent. Cette caractéristique leurs confère un avantage lorsque l’on parle d’applications devant être déployées sur un parc d’appareils hétérogènes.

Une application exploitant toutes les ressources de l'appareil ?

A l’opposé, les applications natives sont dépendantes des caractéristiques des appareils sur lesquelles elles s’exécutent ; ou tout au moins dépendantes des systèmes d’exploitation qui les équipent. Une application iOS (iPhone, iPad, iPod Touch) est développée en langage Objective C, une application Android en Java et une application Windows en C#.
En contrepartie, les applications natives permettent d’accéder à des fonctionnalités du téléphone qui ne sont pas facilement exploitables au travers d’une application web. C’est par exemple le cas pour les fonctionnalités poussées de géolocalisation, pour l’envoi de messages Push, pour la navigation en mode Offline rendue possible au travers d’une gestion de la mise en cache précise. La compétition entre les fabricants de téléphone ou entre les concepteurs de systèmes d'exploitation mobiles est très intense ; l'innovation en matière de fonctionnalités est permanentes et le natif a toujours un coup d'avance sur le web mobile de ce point de vue.
Les applications en versions natives tirent donc pleinement partie des capacités offertes par chacun des appareils. Elles offrent une meilleure fluidité, une vitesse supérieure, une finesse d'ergonomie et de design incomparable, une plus grande interactivité ; et en définitive une meilleure expérience utilisateur. Autour des applications natives, il existe un écosystème complet permettant d’en faire la promotion sur une place de marché : App Store pour les applications iOS, Android Market pour les applications Android et Windows Marketplace pour les applications WP7.

En conclusion

Application native ou HTML 5 ? La réponse dépend du niveau de finition souhaité et du soin apporté à l'expérience utilisateur.
GoodBarber fait le choix du 100% natif, tout en étant multi-plateformes et à bas coût. GoodBarber fait le pari que les forces du natif serviront longtemps encore les besoins des éditeurs de contenu les plus exigeants. Et nous gardons un oeil attentif sur les autres langages de programmation.
Conseils pour créer une app