En direct du Net

Web App Mobile Vs. Application Native ? Pas facile de trancher !

20 mars 2012 | Marb | Aucun commentaire Développement

Web App Mobile Vs. Application Native ? Pas facile de trancher !

Peu importe comment on le mesure, il semble évident que l’ « informatique mobile » est en pleine expansion. Les appareils mobiles remplacent peu à peu les ordinateurs de bureaux et ordinateurs portables traditionnels.

Cette croissance massive donne aux développeurs de logiciels de formidables opportunités, mais aussi des défis importants. L’explosion des différentes plateformes mobiles et des appareils a créé un niveau sans précédent de fragmentation, et ce n’est pas prêt de s’améliorer. Le développement, les tests et la distribution d’une application pour de multiples plateformes / appareils peuvent coûter très cher.

Nous allons donc dans cet article explorer les différentes possibilités qui s’offrent aux développeurs pour réaliser une application mobile.

Web App ou Application Native

Pour moi, si vous avez la possibilité de construire votre application avec des technologies web (HTML, CSS, Javascript), vous devez alors privilégier la Web App.

Pour déterminer si il est préférable d’utiliser du code natif ou des technologies web pour développer votre application, vous devez vous poser deux questions :

  • Cette application doit-elle accéder à des fonctionnalités matérielles de l’appareil qui ne sont pas accessibles par le navigateur internet de l’appareil (appareil photo, etc…)? Si oui, il faut privilégier l’application native car elle seule peut accéder au hardware.
  • L’application a-t-elle besoin de beaucoup de ressources pour s’exécuter ? Là encore, si c’est le cas, il faudra développer une application mobile.

Grâce à la réponse à ces questions il est possible de déterminer quel type de développement on doit privilégier. Dans le cas où l’application native est la réponse à notre besoin, j’ai une autre série de questions à poser pour savoir si l’application doit être 100% native ou hybride.

Native Vs. Hybride

Une application hybride est développée à partir de HTML5, CSS et JavaScript. Ces contenus sont encapsulés à l’intérieur d’un conteneur invisible qui est lui déclaré en langage natif (webView). Les fichiers HTML, CSS, et JavaScript statiques sont stockés dans l’application. Les contenus dynamiques sont récupérés à l’aide d’appels en Ajax.

Techniquement, les applications hybrides sont des applications natives (une webView déclarée en langage natif affiche le contenu HTML, CSS, Javascript, les fonctionnalités de l’appareil sont accessibles, l’application est installée sur l’appareil). Cependant l’approche est différente.

On peut se poser deux questions :

  • Pourquoi utiliser un framework hybride et utiliser du HTML, CSS dans une webView plutôt que d’utiliser le framework natif ? La réponse est simple. Les frameworks hybrides permettent de résoudre le problème de fragmentation des plateformes. Souvenez-vous, plus haut nous avons vu qu’il existait de nombreuses plateformes mobiles différentes, et donc, que les coûts de développement d’applications étaient élevés puisqu’il faut développer l’application pour chaque plateforme. Certains frameworks hybrides comme PhoneGap permettent de développer une seule fois l’application. Cette dernière, bien que codée une seule fois, peut-être compatible avec plusieurs plateformes (iOS, Android, Blackberry, Windows Phone, etc… selon le framework utilisé).
  • Si l’on utilise du HTML, CSS, JavaScript pour développer une application, pourquoi ne pas passer directement par une Web App? Il y a deux raisons à cela :
  1. Premièrement, il est peut-être plus facile pour la cible de l’application de la trouver par l’intermédiaire de l’app-store.
  2. Deuxièmement, bien qu’une application hybride soit développée grâce à du HTML et du CSS, elle se rapproche beaucoup d’une application native puisqu’elle est installée sur le téléphone. Une application mobile a donc a priori accès au hardware du téléphone (appareil photo, gyroscope, etc…).

En conclusion, voici un schéma illustrant les avantages et inconvénients entre le développement d’une application native, d’une Web App ou d’une application hybride :

Avantages et inconvenients entre web app, application native et hybride

(Source :  Worklight).

Enfin, voici quelques frameworks à tester pour le développement d’applications hybrides :

Popularité de l'article : 33%

Laisser un commentaire

Flux RSS - Suivre Les Nouveaux Médias
Recevez les news par mail !

Édito

Les Nouveaux Médias est un blog communautaire qui s'intéresse aux évolutions du secteur des Nouveaux Médias (Internet, Mobiles,...) tant au niveau marketing que technique.

Notre Communauté "virtuelle" est ouverte à tous les acteurs des Nouveaux Médias (professionnels, amateurs,...).

Nous vous invitons à apporter votre contribution en rédigeant un article ou en laissant votre commentaire.

Les derniers commentaires