Applications ou Web App : la question se pose aussi pour les développeurs

La distinction fondamentale entre les deux approches tend à s'atténuer avec l'arrivée du HTML 5. Une version qui apporte nombre de possibilités, comme la géolocalisation.

Avec l'explosion des smartphones, l'Iphone en tête, un débat passionnant agite aujourd'hui, et depuis quelque temps déjà, le monde de la mobilité. Lorsque l'on souhaite être présent sur ces terminaux, qui, incontestablement, sont promis à un bel avenir, est-il préférable de développer une "Application" ou alors, une "Web App" ? Nous avions déjà évoqué la question dans une précédente tribune sous un angle marketing, intéressons-nous aujourd'hui aux développeurs en tant que tels qui, eux aussi, sont rattrapés par le doute.

Grâce à Apple et son Iphone, le monde entier a découvert les Applications, petits logiciels que l'on peut télécharger sur son terminal mobile, et qui offrent une multitude de services et/ou de fonctionnalités, allant des plus utiles aux plus futiles.

Remarquons juste, que les Applications, ou widgets, existaient déjà sur nos mobiles "d'antan", mais il a fallu qu'Apple et son formidable marketing, mais aussi, et surtout, sa capacité à rendre simple, accessible et convivial, ce qui était auparavant laborieux et terne, passe par là pour que tout un marché entier (constructeurs, opérateurs, développeurs, marketeurs...) se jette sur ce nouvel outil magique : l'Application.

Lors de précédentes tribunes, nous nous étions déjà interrogés sur les avantages d'une Application versus une Web App (c'est-à-dire un site Internet optimisé pour une utilisation sur un smartphone, aussi bien en termes de design que de fonctionnalités). L'idée était de prendre un peu de recul avec l'adhésion totale du marché de la mobilité envers ces petits logiciels, et s'interroger sur les avantages et inconvénients de ces derniers, et surtout, essayer de voir si d'autres solutions n'existaient pas pour se retrouver présent sur l'Iphone et, au passage, sur tous les smartphones.

Pour résumer, le débat n'a d'intérêt qu'entre les Applications et les Web Applications. Après avoir listé les avantages et inconvénients de chacune des solutions (lire la tribune) nous nous étions penchés sur les propos de Vic Gundotra, vice-président de Google, qui avait déclaré que "le Web avait gagné, les navigateurs embarqués sur les mobiles étant l'avenir des applications", pour lui pas de doute, il fallait développer des Web App (lire la tribune).

Notons que depuis cette déclaration, et devant la non validation par Apple de son Application "Google Voice", Google a décidé, début août, de développer son système de VoIP en Web App.

Notons également, que c'est à la suite, notamment de cet événement, que l'autorité américaine en charge des télécommunications, la FCC, avait sommé Apple de s'expliquer en détail sur ses méthodes de validation.

Ce débat étant loin d'être fini, il convient maintenant de se pencher sur les milliers de développeurs qui s'intéressent à ce merveilleux marché en pleine explosion (ils sont plus de 100 000 à être inscrits sur l'App Store), et qui se retrouvent en plein questionnement, doivent-ils développer des Applications ou des Web App ?

Plus précisément, un développeur a-t-il intérêt à développer une Application pour iPhone, puis la décliner, en repartant à zéro, pour chaque smartphone, ce qui n'est pas la solution la plus économique en temps, ni en compétences, car il devient nécessaire de maitriser les différents langages utilisés par chaque SDK, ou alors développer des Web App qui, en utilisant un langage HTML sont lisibles par tous les smartphones via leur navigateur ?

Les deux outils possèdent des avantages et des inconvénients pour un développeur.

Pour certains, il est évident que développer en langage Web est un gain de temps car la même Web App est accessible, via quelques modifications de codes pour l'optimiser, à tous les smartphones. Pour d'autres, les Web App, n'arriveront jamais à exploiter l'ensemble des ressources de chaque terminaux de manière optimale. C'est pourquoi, il est préférable de développer des Applications propres à chaque terminaux.

Cette distinction fondamentale entre, d'un coté,  une Web App un peu "passe partout" mais qui n'exploite pas les capacités du terminal de manière optimale et, d'un autre côté, les Applications qui, bien que plus complexes à développer, sont des outils "sur mesure" pour le terminal, tend à s'atténuer avec l'arrivée du HTML 5.

En effet, et à titre d'exemple, une des grandes innovations du HTML 5 est la mise en place d'une norme pour une API de géolocalisation. Ceci offre donc de fantastiques possibilités aux développeurs car ils peuvent désormais accéder aux informations contextuelles de géolocalisation du téléphone, ce qui, auparavant, était uniquement possible via une Application.

Les constructeurs laissent donc les Web App, à l'instar des Applications, accéder aux  fonctionnalités spécifiques de chacun de leurs terminaux.

A ce sujet, il est important de constater que la majorité des kits de développement des constructeurs, proposent aux développeurs, les deux options. Soit une Web App en langage Web, soit une Application dans un langage propre.

Alors Web App ou Application ?

L'arrivée du HTML 5, la puissance des navigateurs présents dans les smartphones ne cessant d'augmenter, la maitrise d'un seul et unique langage, m'incitent fortement à penser que l'avenir appartiendra aux Web App et que les développeurs y trouveront un combiné parfait entre confort de développement et diffusion maximale, même si dans le domaine des jeux, les Applications garderont un avantage certain.

Enfin, un dernier petit plus pour les Web App, n'étant pas accessibles sur les stores des constructeurs, elles ne dépendent d'aucune validation préalable pour pouvoir être diffusées et sont donc accessibles via tous les moteurs de recherche traditionnels du Web, (Google, Yahoo, Bing...).