C'est pas mon idée !

mercredi 12 décembre 2012

Application mobile, web ou native ?

Caplin Systems
C'est une question qui taraude non seulement les équipes de développement mais aussi, de plus en plus, les responsables "métier", lorsqu'il s'agit de concevoir et réaliser une nouvelle application mobile : quelle architecture choisir, HTML5 ou native ? En pratique, il s'avère que les débats sont souvent faussés par des expériences malheureuses avec la première, aussi est-il temps de faire un point sur le sujet.

Le prétexte à cette réflexion est l'annonce par Caplin Systems, éditeur reconnu de plates-formes de trading (comptant Barclays Capital, Citi, Crédit Agricole, RBS, UBS... parmi ses clients), de la nouvelle version de sa solution "Caplin Trader", conçue exclusivement sur la base de technologies HTML5.

Si une entreprise spécialiste du logiciel mise entièrement sur cette approche (et elle n'est pas seule), de surcroît dans un domaine plutôt exigeant (en performance, réactivité, qualité des interfaces...), certaines légendes méritent sans doute d'être révisées.

Car, dans le cas de Caplin, aucune place n'est laissée à l'ambiguïté : la technologie HTML5 est définitivement la solution d'avenir, permettant de réaliser des applications extrêmement riches, rapidement et à moindre coût, compatibles avec une multitude de plates-formes et adaptables à tous les terminaux, du PC fixe au smartphone, en passant par les tablettes.

Caplin Trader

Bien qu'il puisse paraître très technique, ce débat sur les architectures a une importance stratégique pour les entreprises et les choix réalisés touchent au moins deux cordes sensibles : l'expérience client et les budgets. Ainsi, les arguments habituels pour justifier le choix d'une application native sont sa plus grande richesse ergonomique et ses performances sans compromis, alors que l'intérêt principal d'une application web est sa portabilité sur de multiples plates-formes et, par voie de conséquence, des coûts d'implémentation moins élevés.

En résumé, l'alternative exposée au commanditaire d'un projet est souvent, de nos jours : avez-vous le budget suffisant pour développer (et maintenir) des applications riches et performantes pour iPhone, Android, Windows Mobile (...) ou devez-vous contenter d'une version HTML5 "au rabais" ? Heureusement, ce dilemme n'est probablement pas une fatalité. Comme le démontrent certaines expériences (dont celle de Caplin), il est également possible de créer des solutions web aussi séduisantes et efficaces que des applications natives.

Certes, l'exercice n'est pas trivial, ce qui explique les déboires rencontrés par ceux qui se sont lancés un peu trop hardiment. A mon sens, la principale difficulté n'est pas technologique mais tient aux compétences : nombre de "spécialistes" n'ont pas (encore) intégré le changement de paradigme introduit par HTML5 et son modèle applicatif, qui n'a plus rien à voir avec l'approche par "sites" et "pages" dont ils ont l'habitude. Réussir une véritable application web, qui plus est parfaitement adaptée à différentes plates-formes, exige une conception et une réalisation extrêmement rigoureuses et requiert une expertise encore peu répandue.

Alors que plusieurs standards de la "nébuleuse" HTML5 sont toujours à l'état de brouillons, en attente de validation par le W3C, il est finalement logique que l'immaturité continue à régner parmi les développeurs. Cependant, il ne faut pas s'y tromper, il s'agit bien là d'une technologie d'avenir (pas nécessairement exclusive, il est vrai), notamment sur les plates-formes mobiles dont la diversité des systèmes, des formats et des équipements ne va faire que croître, induisant une explosion des coûts des projets basés sur une architecture native.

Il est donc urgent de se préparer à cette transition inéluctable, en développant dès aujourd'hui les compétences nécessaires, à travers des expérimentations "sérieuses", qu'il faudra multiplier, en commençant par des cibles moins stratégiques (par exemple des applications à usage interne).

Petite précision : la publication sur les AppStores, normalement réservée aux applications natives, n'est pas un obstacle majeur pour les applications web, sous réserve d'adopter une approche "hybride", encapsulant le site web dans une "coquille" native légère (et peu coûteuse).

2 commentaires:

  1. Très intéressant ce billet.
    J'ajouterais juste un bémol au tout HTML5. Je ne sais pas si Caplin en parle mais dans leur cas les applications sont dédiées à des terminaux identifiés et sont connectés avec un vrai débit.
    Même si je sais que le HTML5 progresse très vite il n'est pas encore véritablement multi devices mobiles et aussitôt que la connexion Web ralentie patatra (possible de faire du mode déconnecté mais en trading c'est pas très conseillé)
    JE suis vraiment fan du HTML5 mais comme le montre cet exemple, il faut bien peser le pour et le contre et le déployer dans un environnement maîtrisé.
    Maintenant je peux me tromper.

    RépondreSupprimer
  2. Le HML5 hybride se fait très bien avec Sencha Touch et Phonegap. C'est clairement une solution de remplacement du natif qui n'a pas à rougir, et le coût est vraiment plus faible !

    RépondreSupprimer

Afin de lutter contre le spam, les commentaires ne sont ouverts qu'aux personnes identifiées et sont soumis à modération (je suis sincèrement désolé pour le désagrément causé…)