Je tente par ce billet d’initier une petite série concernant les frameworks disponibles pour les développeurs JavaME. Pour ceux qui ne connaissent pas, lorsque vous codez une interface graphique, il n’y a pas 36 manières de procéder, il n’y en a que 2, et pour faire simple je les résumerais de cette façon :
- Soit vous utilisez les objets proposés de bases par la plateforme, et cela vous garantie un minimum de portabilité, mais une interface graphique limitée et qui ne permet pas les excentricités.
- Soit vous utilisez les Canvas, et à vous la joie de placer vos textes, icônes et autres éléments à la main, tout cela au pixel prêt (je vous laisse imaginer le cauchemar lorsque vous avez plusieurs tailles d’écran à supporter) !
Trés récement (lors du JavaOne 2008), Sun nous a mis à disposition LWUIT pour Lightweight UI Toolkit. Totalement inspiré par la philo Swing, ce toolkit propose un ensemble d’objets (widgets) bien plus riches que ceux de bases, et permet d’ajouter animations et autres effets.
Il y a tout pour bien débuter : un tutoriel, une javadoc, un developper guide (PDF), un forum (peu de contenu encore), un wiki (même remarque que pour le forum) et Shai Almog, l’un des développeurs, à créer un blog spécifique sur le sujet.
Entrons maintenant un peu plus dans le vif du sujet et voyons ce que nous propose ce toolkit :
- Des “Components” :
- TextArea
- Label
- Button
- RadioButton
- Checkbox
- List
- ComboBox
- Des “Containers” de “Components” :
- Form
- TabbedPane
- Dialog
- Des “Layouts” :
- BorderLayout
- BoxLayout
- FlowLayout
- GridLayout
- GroupLayout
- Des “Transitions” :
- Slide
- Fade
- Cubic
- Fly in
- Rotation
Nous étions prévenus Swing est bel et bien présent (également le pattern Composite comme cela est trés souvent rappeler dans la doc). En plus de tout cela, les développeurs ont eu la bonne idée de rajouter quelques outils bien sympathiques :
- Thème et Look&Feel :
- Vous pouvez modifier les thèmes fournit par défaut, à la volée, ou avec l’éditeur fournit. Chaque élément du thème est redéfinissable.
- Animations sous forme de GIF :
- Vous pouvez créer des animations en GIF, pour des fonds d’écran par exemple, LWUIT se chargera de le convertir en un format interne pour que l’animation soit joué.
- Font :
- Vous pouvez créer vos propres fonts et les embarqués comme ressources.
- Localisation :
- Permet de définir un fichier “properties” par langue.
- Logger :
- Classe utilitaire qui permet d’écrire et d’afficher les logs. Peut être couplé avec le préprocessing de NetBeans.
Voilà ce que l’on peut en dire dans les grandes lignes, je n’ai pas tout énuméré. Pour compléter cette liste, Shai met en lumière 11 points inconnus sur ce toolkit.
A noter que l’on trouve déjà un portage de LWUIT sur Androïd (et sur PSP).
Aprés une première prise en main rapide, je dirais que LWUIT est prometteur. Je suis actuellement en train de jouer avec pour me rendre compte de ce que l’on peut réellement faire par la pratique. Je pense l’employer dans un projet très prochainement, car rien ne vaut la mise en situation réelle pour voir ce dont il est capable (et surtout ce dont il n’est pas capable
). J’espère pouvoir vous proposer un retour d’expérience d’ici quelques semaines.
Si l’on compare la liste ci-dessus avec ce que propose un framework tel que J2ME Polish (sujet d’un prochain billet), il est clair que LWUIT se place en concurrent direct. Je me demande même s’ils ne s’en sont pas inspirés puisque l’on y retrouve certaines bonnes idées. Il reste encore un peu d’avance aux allemands, mais pour combien de temps encore ?





très bon article
points d’entrées OK pour cette new technologie
je suis prof et prépare un cours J2ME
merci
Quel type de blogue recommandez-vous? Voici la typologie:
http://ysengrimus.wordpress.com/2009/07/15/typologie-des-carnets-blogues-electroniques/
Grand merci.
Paul Laurendeau