Evènements

Devoxx France 2012 : Mobilité

Publié le : Auteur: Florent DUPONT 2 commentaires
evenement

Retour sur Devoxx France 2012 (3/3)

L’autre grosse tendance de Devoxx, c’est la mobilité et plus précisément son arrivée dans le monde de l’entreprise. Les utilisateurs sont de plus en plus nomades et toujours plus friands de nouveaux services.

Les entreprises sont souvent en retard pour proposer aux utilisateurs leurs services. Elles se font parfois pousser par les développeurs indépendants qui proposent des services non officiels.

Anecdote : l’application Naoned Bus a été distribuée par 2 développeurs indépendants bien avant que  la TAN ne propose son application mobile officielle !

Cas d’exemple MAIF : GeoSecurisation

La MAIF a mis récemment à disposition à ces clients l’application « GeoSecurisation » qui leur permet d’être secouru et assisté en cas d’urgence. Les entreprises adoptent donc les plateformes mobiles pour les clients mais également pour leurs besoins métier interne.

Cas d’exemple SNCF : SUIMAGARE

Une application de gestion de site permettant de suivre les équipements en gare grâce à des codes QR apposés sur les équipements (ascenseurs, distributeurs de billets, etc.). Ces codes sont scannés par les agents en gare (grâce à leur mobile) qui leur permet de remonter plus rapidement les équipements défectueux et ainsi assurer une meilleure qualité de service.

Une des grosses problématiques pour le développement d’applications mobiles va être de gérer :

  • la multitude de plateformes : iPhone, Android, WindowsPhone, iPad, tablet PC qui proposent des performances, des résolutions et des densités de pixel différentes.
  • La multitude d’OS : On parle principalement d’Android, d’iOS mais il ne faut pas oublier les Windows phone, Blackberry. Et chaque OS est disponible dans  différentes versions.

Les entreprises sont face cette fragmentation du marché. Elles ont deux alternatives :

  • Cibler un marché le plus large possible mais donner moins de fonctionnalités à leurs applications ?
  • Cibler le cœur du marché (toucher moins de personnes) mais proposer une expérience maximale pour leurs applications ?

Face à ces problématiques, 3 solutions.

Les applications Natives

C’est-à-dire un exécutable développé spécifiquement la plateforme ciblée : Développement Java pour Android, Objective C pour iOS.

Avantages

  • Interface utilisateur (UI), expérience utilisateur (UX) adapté : on tire profit du comportement natif du mobile. On tire parti de toutes les possibilités techniques de l’appareil.
  • Distribution simplifiée : Le développeur ouvre un compte Developer Apple Store, donne un prix de vente et Apple le met à disposition. Pour le développeur, il n’ya pas d’infrastructure à mettre ne place, pas de pub non plus.
  • La mise à disposition sur le market offre une visibilité accrue

Inconvénients

  • Un développement par plateforme ciblé
  • Où trouver des développeurs Java ET Objective C ?
  • Coûts doublés !!

Les applications Html 5

Une alternative à cette première solution c’est HTML 5.
On a vu précédemment que HTML 5 est de plus en plus riche. Beaucoup de Smartphones possèdent un navigateur Web compatible qui est capable d’exécuter HTML 5.

Avantages

  • On utilise un seul langage, quelque soit la plateforme
  • On va cibler une population très large puisqu’on est multiplateformes

Inconvénients

  • visibilité réduite puisqu’on devra mettre ne place son infrastructure pour la mise à disposition de l’application.
  • manque d’API, UI et UX moins spécifique.

Les applications hybrides

Une alternative à ces 2 solutions est de mixer les deux en proposant ce qu’on appelle des applications hybrides.

Une application hybride c’est quoi ?

  • Le cœur de l’application est codé en HTML 5/JS
  • On embarque l’application HTML 5 dans une application native grâce aux composants WebView proposés par les SDK.
  • On utilise un Framework qui va servir de glue technique entre le code JS métier et les spécificités de la plateforme (qui va nous permettre d’accéder à la caméra par exemple)


On va donc retrouver les avantages des applications natives et HTML 5 mais on reste sur des fonctionnalités dégradées par rapport à du natif. Les frameworks hybrides à suivre de près : Apache Cordova (ex Phonegap) et Appcelerator Titanium.

Vers quelle solution s’orienter ?

La solution hybride semble  un bon compromis, celle qui séduit le plus. Mais lors de Devoxx  je n’ai pas ressenti de consensus sur la réponse. La question a été posée à plusieurs présentateurs  (certains mettant en avant HTML, d’autres des appli natives) mais il n’y a pas de réponse tranchée.

En réalité, la solution dépend avant tout des priorités : budget, cible du marché ou expérience utilisateur.

  • Zakaria Bouam

    Juste une remarque à propos des applications hybrides : vous avez mis Appcelerator Titanium dans la même catégorie que Phonegap. Or, contrairement à Phonegap et d’autres frameworks qui se basent sur un existant en HTML/JS qui est par la suite visionné via le webview du périphérique, Titanium est très différent.
    En effet, il permet de développer en Javascript (en s’appuyant bien évidemment sur une API propre au framework) et en JSS (une sorte de système de feuilles de styles calqué sur les CSS) une application 100% native : A la compilation, on a à notre disposition un xproject (sous xcode => iOS) et un projet Android sans la moindre trace de Javascript ou autre code non-natif.

  • Florent DUPONT

    En effet, je ne suis pas allé sur les détails car je voulais que l’article reste synthétique. Merci de remonter cette précision.