Passer au contenu

Les outils de développement J2ME en pleine adolescence

Leur évolution est freinée par une intégration insuffisante aux terminaux de plates-formes J2ME industrielles et leur dépendance vis-à-vis des environnements J2EE.

Les outils de développement J2ME (Java 2 Micro Edition) vont-ils entrer dans l’âge adulte ? Jusqu’ici, les développeurs se sont satisfaits de l’outil générique J2ME Wireless Toolkit (WTK), édité par Sun Microsystems, pour la première génération de midlets ?” applications d’une taille moyenne de 20 Ko. Sa dernière version 1.0.4, téléchargeable gratuitement, améliore l’environnement de développement pour mieux couvrir chaque étape. Mais la liaison entre les phases de compilation et d’exécution nécessite l’écriture de scripts. Ses fonctions d’édition et de débogage sont rudimentaires. Radim Tlusty, développeur J2ME indépendant, rappelle cependant l’inexistence d’un couplage avec un émulateur spécifique pour le terminal cible.

Les IDE apportent plus de confort

Par comparaison, les environnements de développement intégrés (ou IDE ?” Integrated Development Environment) apportent plus de confort. En outre, ils incorporent la WTK et les SDK (Software Development Kits) des équipementiers. Dans le cas de Mobileset, de Borland, Bruno Ledoux, directeur de projet chez Expertsoft, met en avant la qualité de ses composants de conception graphique et de la finition du code. Et de souligner que “les échanges bidirectionnels entre le code et sa représentation graphique apportent des gains de temps “. Mobilset automatise l’enchaînement des écrans, facilitant leur manipulation sur des terminaux mobiles. Ses fonctions intégrées d’obfuscation de la midlet, empêchant ses classes d’être décompilées par un faussaire, constituent un autre de ses points forts. Ces classes sont intégrées à des fichiers JAR, dont le déploiement s’effectue à l’aide d’assistants, en parallèle avec leurs fichiers JAD respectifs, sorte de carte d’identité de la midlet.En revanche, les développeurs reprochent aux IDE leur manque de maturité dans la gestion de la KVM ?” K Virtual Machine, déclinaison de la machine virtuelle Java pour des dispositifs à mémoire limitée, mesurable en kilo-octets. La raison ? Les équipementiers implémentent encore des versions maison de la KVM. Sa gestion via la composante CLDC (Connected Limited Device Configuration) déclenche, lors de l’exécution d’une midlet, un comportement différent sur chaque marque de terminal. D’où, selon Bruno Ledoux, une optimisation fastidieuse des temps de réponse et de la gestion de la mémoire. Un inconvénient qu’aggravent la lenteur traditionnelle de téléchargement des classes J2ME et les dysfonctionnements du nettoyeur de mémoire, constatés chez l’équipementier Motorola, par exemple.

Des solutions encore trop coûteuses

Autre grief : une trop grande imbrication dans les IDE J2EE. Les environnements J2ME ne sont encore qu’une extension de ces derniers, dont il faut, au préalable, acquérir une licence, le plus souvent onéreuse. En revanche, la version gratuite de JBuilder, Personal Edition, ne permet l’intégration que d’un seul JDK (Java Development Kit). Alexis Fruhinsholz, lauréat d’un concours de midlets organisé par Siemens, préconise un IDE J2EE bon marché, comme Idea, d’IntelliJ. Même si, dans ce cas de figure, les classes de la WTK doivent être intégrées manuellement. L’autre inconvénient majeur est la lourdeur du modèle de développement objet propre à J2EE. “Un IDE J2ME nécessite un compromis entre l’approche objet, très gourmande en mémoire, et un développement plus traditionnel par ligne de code”, constate Bruno Delb, fondateur de Net Innovations.A terme, selon lui, la séparation entre ces deux mondes est inéluctable. Mais il faut veiller à garder des points de repère communs ?” notamment par le biais de menus et d’interfaces homogènes. La version de l’outil Codewarrior, de Metrowerks, dédié à J2ME, répond à la première partie de cette équation. De plus, il intègre déjà les plates-formes J2ME commerciales d’un Esmertec et d’un Insignia. En dépit de sa récente acquisition par Motorola, il continue de proposer les SDK d’équipementiers concurrents. Mais la primauté accordée aux API spécifiques de sa nouvelle maison mère va, selon Bruno Delb, à l’encontre du principe de la portabilité de Java.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Samuel Cadogan