Je joue avec l’androïde
13-11-2007 par Horacio GonzalezIl y a quelques années, à la fin de ma thèse, je m’étais lancé au développement d’applications pour les téléphones mobiles, en utilisant Java ME. L’idée était très attirant à l’époque (2004-2005), avec les premiers smartphones qui arrivaient sur le marché à des prix raisonnables, et on commençais à percevoir le potentiel de ces plate-formes portables pour faire des vraies applications connectées.
J’avais commencé de façon autodidacte, en installant le kit de développement Java ME de Sun, avec son environnement de développement et son émulateur. Quelques heures plus tard, après plusieurs essaies, plein d’aller-retour sur la documentation et des consultations sur une dizaine de forums et blogs, j’avais développé ma première application, un lanceur de dés pour World of Darkness, l’un de mes jeux de rôles favoris. Ensuite je me suis vu confronté à un nouveau problème, essayer de mettre mon lanceur de dés sur mon Ntéléphone de l’époque, un Nokia 7252i, mais avec un peu de persévérance j’ai réussi. Il ne semblait pas si dur, ce truc des applications mobiles, non ?
Je n’ai pas trop tardé en me rendre compte de mon erreur, lorsque j’ai découvert à quel point la plate-forme Java ME est fragmenté. En effet, même si la plupart des portables de gamme moyen-haute dissent supporter Java ME, les implémentations de la spécification Java ME différent d’un constructeur à un autre. Si on ajoute à ça la myriade d’extensions propriétaires de chaque constructeur, le développement des applications pour Java ME devient vite un affaire complexe et coûteux. Il fallait donc d’abord développer l’application en utilisant Java ME de la façon la plus générique possible et ensuite faire un portage vers chaque fammile de téléphone cible.
Par des hasard du destin, ce passe-temps est devenu un temps après utile dans ma vie professionnelle, lorsqu’en travaillant pour une SSII j’ai dû développer en Java ME des clients pour une application d’accès multi-modal au SI de la boîte. Là j’ai un peu touché à tous les aspects du développement de Java ME, du support réseau aux IHMs, du son au cryptage. L’espérience a été vraiment intéressant, même si les problèmes liées à la fragmentation et au portage ont consommé presque plus de temps et d’effort que l’application en elle même. Après cette mission, je suis parti sur un sujet plus lié à la voix sur IP, et depuis je n’ai plus eu la chance travailler Java ME (hors quelques petites applications ponctuelles pour une utilisation personnelle), mais je n’ai pas arrêté ma veille technologique sur le sujet.
Il y a quelques mois, j’ai découvert OpenMoko, un projet pour faire un système d’exploitation libre pour les téléphones portables. J’ai cru trouvé là le Graal du développement portable, on ne développerait plus pour que l’application tourne syr chaque type de terminal différent, on développerait l’application pour tourner sur une cible unique, le système d’exploitation. Un système d’exploitation libre comme OpenMoko pouvait résoudre le problème de la fragmentation de la même façon que les systèmes d’exploitation PC le font dans le monde des PCs de bureau. Lors de la sortie du premier téléphone équipé d’OpenMoko, le Neo 1973 dont je vous ai déjà parlé, le projet semblait se concrétiser, mais il était encore loin d’être un vrai système grand public.
Cette semaine la donne a complètement changé. Si vous avez suivi les news ces derniers jous, nous avez sans doute entendu parler d’Android, la nouvelle plate-forme de Google pour des applications mobiles. Android a donc la même vocation qu’OpenMoko, être un système d’exploitation libre et ouvert pour des terminaux portables, avec les outils nécessaires (parmi lesquels une implémentation de Java ME) pour qu’on puisse développer des applications mobiles pour le système sans se soucier du hardware sous-jasent.
Mais là où OpenMoko est un petit projet soutenu par une poignée de développeurs avec plus de courage et envie que des moyens, Android est poussé par Google même, avec le soutien de l’Open Handset Alliance, dont la liste de membres est assez impressionnante.
Et pour montrer que cela est sérieux, à peine une semaine après l’annonce, Google a mis à disposition des développeurs le SDK (kit de développement) d’Android. Vous pouvez le télécharger ici. Moi, je l’ai déjà téléchargé et installé sur mon ordinateur, et j’ai commencé à le regarder.
Alors si mon rythme de blogging se ralentit cette semaine, vous savez à quoi ça sera dû : je serai en train de jouer avec l’androïde !