Tout d’abord commençons par nous faire violence, et listons les différentes plateformes du marché :
– Symbian OS
– Windows Mobile
– Palm OS
– Android
– Mac OS X mobile
– Linux (OpenMoko, …)
– Blackberry
Avec ce simple constat, on peut déjà avoir mal à la tête rien qu’à l’idée de faire une application multi-plateformes. Et bien que certaines de ces plateformes soient enclines à disparaitre, on ne peut les ignorer car il faut prendre en compte le parc de machines déjà installées et utilisées.
Cependant, des solutions existent et certaines d’entre elles sont présentes depuis quelque temps.
Les solutions pour concevoir génériquement des applications
Java
Présent depuis quelques années, Java ME, est l’une des possibilités permettant de développer des applications qui tourneront sur toutes les plateformes. Déjà utilisé, entre autres, par les jeux, il est pourtant rare de trouver des applications moins ludiques utilisant cette plateforme.
Malheureusement, cette solution implique malgré tout la prise en compte de certaines caractéristiques inhérentes au mobile, qui ne sont pas gérées par J2ME : on parle alors de fragmentation. Par exemple, la taille de l’écran, qui oblige les développeurs à prendre en compte tout autant de formats qu’il existe d’écrans. La gestion des différentes spécificités devient très vite coûteuse si l’on veut toucher le plus large public possible. Des solutions (payantes) existent, telles que Celsius de Mobile Distillery, Jump de Tira Wireless et NeoMAD de Neomades.
Comme on peut le voir, le développement sous J2ME n’est pas aussi simple et générique que son aîné sur plateforme traditionnelle.
Flash
Malgré le refus d’Apple de voir la solution Lite d’Adobe débarquer sur son OS, on ne peut pas imaginer cette situation s’éterniser. Flash Lite est la solution d’Adobe pour un développement uniformisé des applications web. Fort de son succès sur le web, il semble qu’Adobe veuille appliquer la même recette au monde du mobile. Son récent « licenciement » par Microsoft pour Windows ME et Internet Explorer montre que cette stratégie est en bonne voie.
Les OS qui font bouillir l’actu
Mais peut-être que la véritable solution est la création d’applications propriétaires sur toutes les plateformes. Après tout, les développements sur ordinateur n’ont pas connu de JVM ou de Flash pendant des années et cela n’a pas empêché de voir apparaître des applications sur différents supports. Cependant, le nombre d’OS sur mobile est beaucoup plus important que celui existant sur PC. La solution est peut-être une transposition de l’histoire du PC sur le mobile, à savoir la disparition de nombreux OS pour n’en voir que quelques-uns (voire un seul) rester à bord.
Après plusieurs rumeurs de voir apparaître un téléphone, comme Apple l’a fait, Google a levé le voile sur ses desiderata sur le mobile : Android. Avec l’apparition du premier téléphone HTC utilisant l’OS de Google, ce dernier a définitivement mis un pied dans le monde du mobile, malgré les incertitudes qui ont suivis son lancement. Cependant, il a tardé à venir concrètement et a laissé d’autant plus de temps à ses rivaux pour se préparer.
Et c’est bien ce que fait Nokia. Après le rachat complet de Symbian, le finlandais a annoncé le lancement de l’initiative OpenSymbian. Connaissant l’engouement de l’open source et sa capacité à rapidement se développer, Nokia mise peut-être sur cette « contre-mesure » pour parer à la solution de Google.
Apple ne semble toujours pas avoir retenu les leçons de son passé et semble vouloir garder au maximum le contrôle sur sa plateforme. Peut-être que les succès de l’iPod et de l’iPhone l’ont grisé, et l’ont laissé croire qu’il pourrait, une fois de plus seul contre tous, imposer son système parce que… c’est Apple.
Certes, le succès de ces plateformes se fera en fonction de celui du Hardware, mais il ne faut pas oublier que le développement d’un système fermé est plus coûteux et des fois plus long qu’un système ouvert.
Où va-t-on ?
A la question : « C’est encore loin, chef ? », la réponse est évidemment : « Oui, très très loin ». Mais il ne faut pas douter que cette situation va s’assainir. Le marché (autrement dit nous, les utilisateurs) va choisir ses favoris pour les plateformes mobiles. Ensuite, le choix d’une base commune comme Java ou Flash aura peut-être lieu. On connaît les ambitions d’Adobe dans le monde du développement logiciel avec AIR, qui ne devrait pas tarder à arriver sur mobile. Même si leur concurrence sur ordinateur n’est pas évidente, le conflit est limpide sur mobile.
L’intérêt du développement sur téléphone est bien entendu de profiter de la connexion au réseau qui est native et constante avec ces appareils. Ici, le choix sera peut-être fait par les développeurs et les acteurs du marché. L’utilisateur n’a pas le choix des propositions. Par contre, il peut dire s’il en veut ou pas.
Nicolas Hoizey
19 novembre 2008
Il existe bel et bien une plateforme logicielle unique disponible pour tous ces OS mobile : le Web !
Avec le déploiement de plus en plus rapide de la 3G et même de la 4G (WiMax, aux US surtout pour l’instant), un bon navigateur embarqué sur n’importe quel OS et respectant les standards modernes du Web sera bientôt un critère de choix prépondérant. Apple (avec Safari), Opéra et Mozilla (avec Fennec) l’ont bien compris.
Arnaud Coudroy
24 novembre 2008
De mon point de vue l’article n’aborde qu’une face de l’informatique nomade (qui n’est certes pas la plus simple), celle du B2C. Il existe un certain nombre de solutions dites multicanal qui permettent de s’affranchir d’un grand nombre de contraintes lié à l’OS. L’une des plus connues fut AvantGo (Sybase), dont il existe une déclinaison pour les entreprises. Il s’agit de proposer un système qui permet à la fois de naviguer en direct lorsqu’on est connecté et de stocker les requêtes lorsque le réseau n’est plus disponible. Un système de cache local permet une certaine navigation dans l’application à base de JavaScript.
Autre avantage de telles solution la possibilité d’exploiter les périphériques de l’appareil tel que l’appareil photo, le GPS, un lecteur de code barre, de Tag RFID ou NFC, ce que ne permet pas une application Web.
L’autre partie des applications mobiles concernent les flottes d’entreprises : commerciaux, technicien de terrains, chauffeur, … De ce point de vue la problématique est plus simple : 99% des terminaux sont sous OS Windows Mobile avec des terminaux durcis la plupart du temps ou embarqué avec d’autres systèmes (cas des chauffeurs).
La complexité consiste alors à faire cohabiter le SI Mobile avec celui de l’entreprise en gérant au mieux possible selon les contraintes fonctionnelles, techniques et organisationnelles les synchronisations entre les deux SI. Pour une plus grande efficacité on choisira alors un Middleware de synchronisation qui permet l’échange de données de manière transparente et sans développements lourds et couteux qui le plus souvent se révèlent inefficace au final.
Enfin il est clair que les architectures orienté services (SOA) facilitent grandement l’intégration du SI mobile dans le SI de l’entreprise en permettant la mutualisation de certains services et notamment avec l’arrivée des connexions haut débit mobile comme le souligne si justement Nicolas.
Stéphane Prohaszka
5 janvier 2009
@Nicolas : Un navigateur ne remplacera jamais un logiciel dédié.
Au chapitre des « petits désagrément », il y a le fait qu’on ne puisse rien sauvegarder en local. Et même si la tendance est à tout exporter sur des serveurs, il est difficile de croire que tout le monde veuille voir ses fichiers sur des serveurs appartenant à une société.
Mais dans un cas plus général les performances d’un navigateur seront toujours moindre. Certes pour écrire une document, il n’y a pas vraiment de problème, mais pour des applications plus gourmandes, c’est plus crucial. L’exemple que je prenais des jeux vidéo n’est pas tout à fait dû au hasard. Il est bien connu que ce genre de logiciel requiert le maximum d’une machine et le navigateur est une barrière vers l’accès à toutes les ressources de celle-ci.
Cependant je suis d’accord sur le principe que le navigateur sur les mobiles suivra la même évolution que ceux des ordinateurs classiques. A savoir une prépondérance sur la majorité des autres applications pour le quotidien. Personne ne pourra plus utiliser son mobile sans lancer son navigateur internet (par choix, pas par contrainte bien sûr). Malgré mon scepticisme sur la qualité et le débit réel des normes actuels de communication pour les mobiles, il ne fait pas de doute que l’avenir du mobile rejoindra celui d’internet.
Stéphane Prohaszka
5 janvier 2009
@Arnaud : Le sujet de mon poste était principalement lié à un usage de monsieur tout le monde.
En effet je n’ai pas abordé des problématiques de B2B qui ont l’avantage de pouvoir imposer une plateforme commune et donc de simplifier la conception d’un logiciel. Le fait de savoir que tout les utilisateurs d’un système auront exactement le même environnement est un soulagement pour tous concepteurs, mais une utopie pour qui veut toucher le grand public.