Rich Green, le vice-président de la division software de Sun, vient d’annoncer le lancement de JavaFX, une nouvelle plateforme d’interfaces riches.
Nouvelle ? Oui parce que historiquement Java et sa machine virtuelle furent les premiers à se positionner sur ce créneau (les applications en ligne).
Plateforme ? Oui parce qu’elle regroupe plusieurs composants dont le toolkit d’interface graphique Swing et la langage JavaFX Script. Mais également car il existera une version mobile : JavaFX Mobile.
Interfaces riches ? Oui, nous parlons bien d’un plug-in (au même titre que Flash ou Silverlight) pour faire tourner des animations vectorielles.
Plus d’infos ici : Sun enters the Rich Internet Application world with JavaFX.
Un concurrent pour Silverlight plutôt que pour Flash
JavaFX est la réponse de Sun à Microsoft et son Silverlight. Issu de l’univers informatique traditionnel, Sun n’a ni la culture, ni l’ambition de s’attaquer à Adobe (et à ses produits). D’ailleurs, les clients et prospects de Sun ne sont pas les même qu’Adobe (et Macromedia à son époque).
En proposant une alternative simplifiée de Java, Sun espère démocratiser sa plateforme et la faire sortir du cadre de l’entreprise. D’ailleurs Rich Green le dit lui-même : This is Java for consummers, for individuals – not just enterprise, not just corporate
.
Et c’est là la force de Sun : pouvoir s’appuyer sur une base de plus de 5 millions de développeurs Java et sur le soutien de partenaires de choix comme IBM, BEA, Oracle et même Google.
Petite précision : le langage Java n’a strictement rien à voir avec Javascript. Par contre, JavaFX Script sera semble-t-il très proche de Java ET de Javascript. Un compromis parfait entre ces deux mondes jusqu’alors incompatibles ? Peut-être… en tout cas certainement à terme puisque JavaFX Script sera open source. Il y a donc fort à parier que la communauté se chargera de le faire évoluer dans le bon sens.
Bref, en ouvrant (de nouveau) la porte du navigateur aux développeurs Java, Sun fait le même pari que Microsoft avec Silverlight (qui sera compatible avec la plateforme .Net) : séduire les développeurs d’applications d’entreprise et les amener sur le terrain des interfaces riches grand public.
Un pont vers la mobilité avec JavaFX Mobile
C’est avec beaucoup de clairvoyance que Sun fait d’une pierre deux coups et propose une déclinaison mobile avec JavaFX Mobile : capitaliser sur une plateforme unique et remplacer Java Mobile Edition qui semble poser des problèmes de compatibilité.
Le monde de la mobilité présente ainsi de nombreux attraits : il existe plus de 2 milliards de téléphones compatibles Java et quasiment aucun concurrent qui puisse assurer une relative compatibilité entre les systèmes d’exploitation mobiles (Windows Mobile, Symbian, Palm OS…). Voici donc une très bonne occasion pour Sun de s’implanter sur le créneau des RMA.
Cette annonce est d’autant plus importante qu’un nouvel entrant débarque sur le marché le mois prochain : Apple et son iPhone qui tournera sur un OS dérivé de Mac OS X donc d’Unix (le système d’exploitation privilégié par Sun). Cette parenté entre Apple et Sun autour d’Unix se matérialisera très certainement avec la prise en charge de JavaFX Mobile par l’iPhone. Peut-être pas dans la première version, mais sûrement dans la seconde qui sera commercialisée en Europe à la fin de l’année.
Plus d’infos ici : Sun tries again with consumer-flavored Java.
La promesse du write once, run anywhere
En proposant aux développeurs Java de pouvoir déployer leurs applications sur le poste de travail (en s’appuyant sur la machine virtuelle Java), dans un navigateur (avec JavaFX) et sur les terminaux mobiles (avec JavaFX Mobile), Sun vole la vedette à Microsoft et Adobe sur le terrain des plateformes RIA / RDA.
Encore faut-il que cette nouvelle plateforme tienne ses promesses et surtout que Sun parvienne à rassurer la communauté sur certains points d’ombre :
- Quelles seront les caractéristiques réelles de JavaFX (performances, consommation de ressources système, stabilité, montée en charge…) ?
- Quand sera disponible la nouvelle version de la machine virtuelle Java / JavaFX ? Sur quels systèmes d’exploitation (Mac ? Linux ?)
- Comment cohabiterons les machines virtuelles permettant de faire tourner des clients riches (RDA) : NetBeans, Eclipse RCP, Java Web Start ?
- Quelle va être l’accueil de l’industrie et de la communauté open source à cette nouvelle plateforme venant s’ajouter aux autres ?
Attendons et observons…