Go to Hackademy website

Les applications web mobiles sont elles en passe de détrôner les applications mobiles natives ?

Martin Catty

Posté par Martin Catty dans les catégories mobile

C’est une tendance que nous constatons, les applications web mobiles sont de plus en plus prisées aux dépens des applications natives.

Un atout nommé responsive

L’avènement relativement récent du responsive web design a beaucoup joué, car il permet de transformer l’apparence du site en fonction des capacités d’affichage du terminal, via les media queries de CSS 3.

Cela signifie que c’est la même application web qui s’affiche que ça soit sur ordinateur ou sur smartphone. Il n’y a donc pas de fonctionnel à re-développer.

Il faut apporter une nuance sur le fait que certains composants fonctionnels, ne peuvent pas être adaptés uniquement visuellement.

Par exemple, afficher une fenêtre modale n’a pas de sens sur un mobile, de même qu’un calendrier ne peut pas se présenter de la même façon.

Cela implique de modifier l’application en elle-même. Pour autant, il n’y a qu’une application pour les différents terminaux.

Il faut également considérer que si certains éléments ne sont pas affichés, il peuvent quand même être téléchargés, ce qui alourdit inutilement la consommation de bande passante et qui pénalise tous les utilisateurs et particulièrement ceux sur mobile.

Le navigateur en tant que machine virtuelle ?

Les portages d’application standalone vers le web ont été nombreux et pas toujours heureux.

Est ce qu’utiliser Photoshop dans un navigateur a du sens ? Rien n’est moins sûr.

Migrer une application vers le web a du sens à partir du moment ou elle est collaborative. Devoir lancer son navigateur pour se servir d’un outil qu’on utilise seul n’a pas de sens.

Quelles performances ?

La question de la performance a longtemps été un argument en défaveur des applications web mobiles mais il faut reconnaître qu’elle est de moins en moins d’actualité.

La puissance et les possibilités qu’offrent les navigateurs, sur mobile ou non, sont de plus en plus impressionnantes.

JavaScript est interprété un peu plus rapidement à chaque nouvelle version de navigateur, ce qui fait du browser un excellent contexte d’exécution.

Pour quelles possibilités ?

Les navigateurs ont de plus en plus accès aux ressources intrinsèques des machines et HTML 5 a beaucoup apporté.

Il suffit de se tourner vers Google, où il est maintenant possible d’effectuer une recherche avec son micro.

Google micro

On peut également citer en vrac les mécanismes de stockage de données, l’accès aux périphériques (webcam, GPS), la possibilité de faire de la visio-conférence sans plugin (WebRTC)…

Des navigateurs homogènes sur mobile

Évidemment dès qu’on parle de fonctionnalités avancées, on se retrouve en proie aux soucis de compatibilité des navigateurs, untel gérant X, l’autre non.

Ou pire : les deux le gérant différemment.

Cette contrainte est beaucoup moins présente sur le mobile que sur le desktop, d’une part parce que le mobile est plus récent, d’autre part car les 2 principaux acteurs, Safari Mobile sur iOS et Chrome sur Android, ont longtemps partagé une base de code commune avec WebKit (Chrome va maintenant utiliser Blink)

Le web devient la plateforme

C’est la promesse de Mozilla avec Firefox OS : réaliser un OS Mobile entièrement avec des technologies du web.

De fait, pour rendre son application disponible sur cet OS Mobile, aucune nouvelle connaissance n’est nécessaire, ce sont les même que pour créer une application web.

Firefox OS va donc fusionner l’OS et le navigateur, limitant les couches d’éxécution.

Quelles différences de coûts entre natif et web ?

C’est un critère fondamental dans le choix des décideurs.

Il y a de cela quelques temps on pouvait sans risque conseiller de développer une application uniquement pour iOS, dû à sa part de marché largement plus importante.

Ce n’est plus le cas aujourd’hui. Android est maintenant en tête sur tous les segments mobile, sans pour autant qu’iOS soit marginal.

Cela signifie donc que, sauf usage interne, prototype ou marché extrêmement ciblé, toute application devra être développée pour les deux plateformes.

Il faudra également se poser la question des tablettes, et de la gestion des différents terminaux sur ces OS mobiles.

Les développements natifs seront indéniablement plus coûteux s’il faut développer pour plusieurs plateformes. Les points suivants, comme la maintenance, sont également à prendre en compte.

Maintenance

Le web excelle par sa capacité à mettre à disposition une nouvelle version d’une application instantanément, et pour tout le monde.

Nul besoin de maintenir X version pour Y plateforme ni de demander la validation d’un store.

App store : avantage ou inconvénient ?

Pour les applications mobiles natives, l’app store est à double tranchant.

En faire la une peut être une formidable déclencheur de succès, tout comme son mauvais référencement peut considérablement vous pénaliser.

Naviguer dans un store sur mobile n’est pas agréable. Toute comme les internautes ne dépassent pas la première page de Roogle, ils ne parcourront pas 50 applications.

Qui plus est l’accès y est payant et chaque nouvelle version doit faire l’objet d’un validation.

Toutefois les stores vous permettent de faire complètement abstraction de la distribution de votre application (recherche, achat, mise à disposition), ce qui est un point non négligeable.

Compétences

Un autre point est celui des compétences. Les compétences en développement d’applications natives sont moins répandues que les compétences en développement web.

Évidemment ce qui est plus rare est généralement plus cher.

Des développements natifs facilités

Le développement d’application mobiles natives s’est tout de même considérablement amélioré avec des initiatives tierces comme RubyMotion.

RubyMotion est au mobile ce que Ruby on Rails est au web, un formidable jeu d’outils basés sur Ruby pour accélérer les développements d’applications mobiles sous iOS.

Il ne pallie toutefois pas (encore ?) aux contraintes de publication et de gestion des différentes plateformes telles qu’Android.

Un mot sur les solutions hybrides

Disons le clairement, les solutions type Titanium ou PhoneGap sont loin de tenir leurs promesses.

De manière générale le « Write once, run anywhere » (écris le une fois, fais le tourner partout) a toujours été un mirage en informatique.

Elles combinent de nombreux problèmes : lenteur, difficulté de débogage…

Quels arguments pour le natif ?

Les applications mobiles natives ont encore de solides arguments, tout dépend du besoin.

Dans la gestion du mode déconnecté, de la fluidité, des applications gourmandes en performances ou en rendu 3D, elles restent devant.

Les applications natives sont également appréciées pour leurs interfaces utilisateurs cohérentes. Étant donné qu’elles doivent suivre les règles de l’OS mobile, elles sont plus cohérentes.

Elles conservent également l’immense avantage des habitudes utilisateurs.

Très peu d’utilisateurs de smartphone savent par exemple comment créer un raccourci vers une application web pour pouvoir la lancer comme une application mobile.

À l’inverse, les stores sont maintenant très bien compris, en témoigne l’App Store qui a fêté son 50ème milliard d’apps téléchargées.

Conclusion

Les applications web mobiles offrent des possibilités grandissantes pour des coûts globalement moindres.

Qui plus est, elles rattrapent leurs retards dans les domaines de prédilection des apps mobiles natives (jeu 3D avec WebGL…).

Enfin, Firefox OS, bien que partant avec beaucoup de retard, est à suivre avec attention.

Si vous devez construire une application mobile pour le moyen terme l’option web est à considérer très attentivement, car elle ne cesse de progresser.

L’équipe Synbioz.

Libres d’être ensemble.

Articles connexes

Motiongame - Les sprites

07/03/2016

Dans le précédent article sur motion-game nous avons survolé plusieurs fonctionnalités, il est temps maintenant d’approfondir celles-ci en nous penchant sur la notion de sprites ! Pour cela nous...

RubyMotion et Android Studio

04/02/2016

À l’image de ce précédent article présentant l’utilisation de l’interface builder d’Xcode au sein d’une application RubyMotion, nous allons aujourd’hui nous intéresser à l’utilisation d’Android...

Introduction au développement de jeu smartphone avec Motiongame

29/10/2015

Rubymotion a lancé en septembre dernier sa plateforme de création de jeux 2D pour smartphone (iOS et Android) nommée Motiongame. Jusqu’à présent la création de jeux se faisait à l’aide de la gem...

RubyMotion - utilisation de MapKit

19/02/2014

Dans cet article à propos de RubyMotion, nous allons voir comment mettre en place un système de géo-localisation et l’affichage d’une carte. Maitriser ces deux outils élargit largement la palette des...