Après l'avoir annoncé à la conférence JavaOne de 2007, puis à celle de 2008, Sun ne pouvait faire autrement que de sortir sa technologie de client Internet riche (RIA, rich Internet application), JavaFX. La version 1.0 de ce nouveau langage de script a donc officiellement été présentée hier. Mais on ne peut pas dire qu'elle soulève l'enthousiasme. Un spécialiste bien connu des nouvelles interfaces a ainsi refusé de commenter publiquement cette sortie pour ne pas être « trop violent » et afin de « laisser sa chance à JavaFX 1.5 ». De fait, les exemples de code et d'interfaces montrés par Sun font davantage penser à ce qu'il était possible de faire en Flash il y a quelques années qu'à ce que les RIA offrent aujourd'hui. Car depuis la première annonce de JavaFX par Sun, les autres acteurs ont sorti leurs produits et les communautés d'utilisateurs s'en sont emparés : Flex d'Adobe, Silverlight 2 de Microsoft, GWT de Google... Xebia, cabinet spécialisé dans le consulting J2EE, a réalisé il y a quelques semaines un concours en interne évaluant différentes solutions pour concevoir une interface riche adossée à un système back-end Java (et dont Flex est sorti en tête). Une préversion de JavaFX avait été utilisée. Xebia notait alors : « Nous gardons l'impression agréable de pouvoir faire des interfaces jolies en Java, et assez simplement grâce au langage de script JavaFX. » Toutefois, les consultants notaient aussi : « Il reste encore beaucoup de travail pour aboutir à un vrai produit. Il faudrait enrichir l'API avec des librairies de composants graphiques et offrir un vrai support pour les IDE [environnements de développement intégrés, NDLR], et pas seulement NetBeans. » Un seul IDE (Netbeans) et pas de composants graphiques de haut niveau Pablo Lopez, consultant J2EE chez Xebia, a désormais pu étudier la version 1.0. Verdict : « Je ne vois pas de différence fondamentale avec la préversion. Nous avions lu notamment que le plug-in serait remis au goût du jour, qu'il y en aurait pour plusieurs IDE... or il n'y en qu'un pour [l'atelier de Sun] Netbeans, et il n'a pas changé. Et il n'y a toujours quasiment pas de composants graphiques. J'attendais beaucoup plus de richesse, or il s'agit majoritairement d'un portage de [la bibliothèque graphique] Swing. Il n'y a pas de composant graphique de haut niveau. Pour faire le tableau dans notre projet, dans le cadre du concours, nous avons dû positionner un à un des éléments graphiques : rectangle après rectangle ! » Tim Bray lui-même appelle Sun à laisser tomber ses efforts sur le poste client [[page]] Il est probable que Sun espère voir la communauté des développeurs Java s'emparer de la technologie. Sans quoi, JavaFX risque de rester comme une technologie de témoignage. Des exemples étaient donc attendus de la part de Sun pour inspirer la communauté, or, note Pablo Lopez, « ils restent très light, je n'ai même pas vu d'intégration avec un back-end ». Aucun intérêt à quitter GWT au profit de JavaFX Entre-temps, la communauté Java a eu tout loisir de se tourner vers d'autres technologies. En premier lieu GWT (Google Web Toolkit), qui permet de développer et maintenir des interfaces riches directement en Java, alors que JavaFX impose un nouvel apprentissage. « GWT n'est pas exempt de défauts, mais a une bonne longueur d'avance, et des composants graphiques disponibles en Open Source. Aujourd'hui, cela me paraît difficile de faire basculer des adeptes de GWT à FX. » L'autre concurrent très en avance est tout simplement Ajax, ce mélange de HTML et Javascript. Pour l'instant, la stratégie de Sun est d'occuper tous les écrans (à l'instar de ce que veulent Adobe et Microsoft), en proposant un outil de développement unique pour toutes les machines virtuelles Java installées. Mais la version 1.0 de son interface RIA est clairement à la traîne, et la version mobile de JavaFX n'est pas attendue avant le printemps (et Java n'est pas disponible, de toute façon, sur tous les smartphones, à commencer par les iPhone). Du coup, l'offre apparaît surtout comme une preuve que Sun poursuit sa stratégie - comme l'éditeur l'a réaffirmé lors de la dernière JavaOne - et participe au combat des RIA. Mais peut-être cette stratégie est-elle à revoir ? Tim Bray lui-même, directeur des technologies Web de Sun (et co-inventeur de XML), explique sur son blog que HTML et le navigateur ont gagné, et que Sun devrait concentrer ses efforts sur les plateformes de déploiement Web, laisser Java voler de ses propres ailes et abandonner le terrain des interfaces clientes.