Actualités
|
![]() |
Emploi
|
![]() |
Start-up
|
![]() |
Avis d'expert | ![]() |
Vidéos | ![]() |
Indicateurs
|
![]() |
Distribution
|
![]() |
Telecharger Pro
|
![]() |
Livres blancs | |||||||||||||||||||||||||












Sun investit à son tour le marché des clients riches internet (RIA) avec JavaFX. Attendue depuis un an, cette technologie sera disponible en version de test au mois de juillet. Puis sera déclinée sur les périphériques mobiles, les télévisions, consoles de jeu et autres lecteurs Blu-Ray dès 2009, a promis Sun lors de la 13e édition de JavaOne qui s'est tenu début mai à San Francisco.
JavaFX va-t-il signer le retour en force de Sun sur les périphériques des utilisateurs ? C'est l'ambition de l'éditeur depuis un an. Le langage Java avait été conçu en 1995 pour développer des logiciels clients. Tout le monde se souvient des applets qui préfiguraient le modèle des applications internet riches (RIA). Mais la lenteur de Java sur le poste client et les problèmes d'incompatibilité, notamment avec la machine virtuelle Java de Microsoft, avaient orienté la technologie vers les serveurs, les périphériques mobiles et l'embarqué.
Depuis, Java a parcouru un long chemin sur le poste client avec Java SE, utilisé par de nombreux logiciels métier. Cependant, “ à l'heure du web 2.0, l'absence d'une couche graphique de haut niveau était un handicap ”, explique Jean-Yves Pronier, directeur marketing produit chez Sun France. Après un an de travaux, JavaFX vient combler cette lacune. “ Cette technologie simplifie le développement d'applications graphiques, connectées et interactives ”, résume Param Singh, responsable de JavaFX chez Sun. Elle répond aux besoins des développeurs web, Flash et aux producteurs de contenus qui n'ont pas de compétences Java et souhaitent pourtant créer des interfaces graphiques de nouvelle génération, mixant appel de services web, accès à des données locales et affichage de flux multimédias. JavaFX se place en concurrence directe avec Flex, d'Adobe, et Silverlight, de Microsoft.
Sun ne veut pas seulement fournir une technologie de client riche. En plus d'ouvrir son langage aux producteurs de contenu qui ne sont pas développeurs, l'éditeur compte “ réunifier Java en utilisant la même plate-forme pour tous les clients : PC, téléphone mobile, interface des disques Blu-Ray, télévision, etc. ”, explique James Gosling, vice-président de Sun et créateur du langage Java. JavaFX est composé d'un nouveau langage de script, JavaFX Script, de trois socles d'exécution (PC, mobile et TV) et de différents outils de développement. Contrairement à Java, JavaFX Script est un langage déclaratif de haut niveau qui propose de nouvelles interfaces de programmation (API). Simple à manier, il nécessiterait cinq fois moins de code que Java pour réaliser une interface graphique utilisateur. Selon Param Singh, “ la cible de JavaFX [les producteurs de contenus interactifs – NDLR] préfère utiliser un langage de script avec toutes les extensions multimédias (audio, vidéo, graphiques, etc.) adéquates, plutôt qu'un langage de programmation bas niveau comme Java ”. JavaFX intègre donc un moteur 2D/3D et des codecs multimédias.
Contrairement à Microsoft et Adobe, Sun ne dispose pas d'outil de développement graphique évolué. L'éditeur propose un plug in pour Adobe Illustrator afin de convertir le dessin vectoriel en code Java-FX Script. Puis l'interface graphique peut à son tour être importée dans l'atelier de développement Netbeans IDE ou Eclipse IDE via un plug in JavaFX. Ce dernier assiste le développeur dans la création du squelette de l'application, mais ne propose pas encore de création Wysiwyg.
Pour Sun, l'absence d'outil graphique ne constitue pas un problème. “ C'est la combinaison des deux approches – outil graphique du designer et atelier de développement du développeur – qui apportera la meilleure productivité à l'équipe du projet ”, estime Alexis Moussine-Pouchkine, architecte Java chez l'éditeur. “ Nous proposons aussi des composants graphiques de haut niveau – formulaire, grille de données, etc. pour accélérer les développements ”, rappelle Param Singh. Une fois développée, l'application est compilée en bytecode qui s'exécute au-dessus d'une machine virtuelle Java (JVM). Elle peut donc être déployée sur tous les matériels qui embarquent Java. Rappelons que, ces dernières années, Sun a poussé son environnement d'exécution sur près de 5,5 milliards de terminaux : 85 % des téléphones portables et 91 % des postes de travail sont aujourd'hui équipés d'une JVM. Mieux, à terme, “ JavaFX sera disponible sur toutes les plates-formes ”, a promis Rich Green, patron de la branche logicielle chez Sun.
Dans un premier temps, Sun proposera JavaFX sur les postes de travail (JavaFX Desktop 1.0, disponible cet été), tandis que JavaFX Mobile et JavaFX TV sont attendus dès 2009. JavaFX fonctionnera en effet aussi sur les télévisions de dernière génération, les lecteurs Blu-Ray, et les consoles de jeu Playstation de Sony. Exemple des possibilités à venir : lors de la conférence JavaOne 2008, Sun a présenté un DVD consacré au chanteur Neil Young. Ce support interactif au format Blu-ray s'enrichit en ligne en appelant des services web. Le contenu du disque n'est plus figé.
“ La portabilité, la sécurité et l'expérience utilisateur sont les trois qualités de JavaFX, qui se présente comme une extension de Swing. Cette nouvelle technologie étend la portée de Java aux clients internet, élargissant d'autant sa couverture fonctionnelle sans modifier l'environnement quotidien des développeurs ”, explique Alexis Moussine-Pouchkine. Contrairement à Adobe et Microsoft, qui proposent un socle de déploiement pour les RIA (Rich Internet Application) et un autre pour les RDA (Rich Desktop Application), Java-FX couvre les deux architectures. L'utilisateur peut glisser sur le bureau une application JavaFX s'exécutant dans un navigateur. Elle se déploie alors instantanément sur le poste de l'utilisateur sans nécessiter d'installation. Autre point de distinction : Java-FX est la seule technologie de RIA totalement sous licence open source.
Pour de nombreux observateurs, “ le choix de créer un nouveau langage de script est hasardeux ”, comme l'estime Sami Jaber, fondateur du cabinet de conseil en architecture DNG Consulting. Pour ne pas perturber les développeurs, tous les éditeurs concurrents ont choisi de garder leur langage natif : Silverlight s'appuie sur .Net tandis que Flex repose sur Actionscript, bien connu des développeurs Flash. Ceux qui souhaitent utiliser JavaFX devront donc apprendre un nouveau langage. Or, “ le succès de Google Web Toolkit est justement lié au fait que le développeur code en Java ”, constate Didier Girard, directeur technique de la SSII Sfeir et éditeur du blog OnGWT.
D'autres experts mettent en avant l'arrivée trop tardive de la technologie de Sun face à des concurrents qui possèdent déjà des clients en production. Mais pour Param Singh “ les jeux ne sont pas encore faits ”. Même si Adobe et Microsoft ont pris une longueur d'avance, “ aucune de ces technologies n'a, pour le moment, réussi à prendre un avantage décisif. Et nous avons accéléré le développement de JavaFX depuis plusieurs mois pour répondre à l'impatience des développeurs ” conclut-il.
Le nouveau langage est censé diviser par cinq le nombre de lignes de code nécessaires, grâce à l'abstraction des API Java SE et Java ME. Compilée en bytecode, l'application s'exécute au-dessus de n'importe quelle machine virtuelle Java sur un PC, dans un navigateur, ou sur un téléphone portable.
1995 : lancement officiel du langage Java.
1996 : en janvier, premier kit de développement Java, JDK 1.0 ; 83 000 pages web incorporent une applet Java.
1998 : première ébauche de Swing, couche graphique de Java sur le poste utilisateur.
1999 : Sun divise Java en trois plates-formes spécifiques : J2 SE pour le poste utilisateur, J2 EE pour les serveurs, et J2 ME pour les périphériques mobiles.
2001 : Sun gagne son procès contre Microsoft qui voulait incorporer la JVM de Sun dans Windows.
2003 : la JVM est déployée sur 550 millions de PC.
2005 : Java fête ses 10 ans ; 2,5 milliards de périphériques intègrent un moteur Java.
2007 : lancement de JavaFX.
2008 : JavaFX Desktop 1.0 est annoncé pour juillet.
2009 : JavaFX Mobile 1.0 et JavaFX TV 1.0 sont attendus pour le printemps.
Pour - Jean-Yves Pronier (Sun France) : “ JavaFX ne vise pas que les experts Java ”
“ JavaFX nous ouvre à l'ensemble des terminaux clients : PC, tableau de bord de voiture, console de jeu, téléphone portable, etc. Nous souhaitons ainsi répondre aux besoins des producteurs de contenu interactifs et d'interfaces utilisateur “ riches ”. Java est un langage trop bas niveau pour adresser leurs besoins. Il est parfait pour écrire de la logique métier ou des pilotes de matériel. Mais les designers ont surtout besoin d'assembler et de faire interagir facilement des éléments graphiques avec des services locaux ou distants. C'est l'objectif de JavaFX Script, qui se concentre sur l'interface utilisateur. D'autre part, JavaFX sera intégré nativement aux JVM des terminaux. Ce qui signifie que l'utilisateur n'aura rien à ajouter pour bénéficier d'une plate-forme JavaFX “ ready ”. Il s'agit là d'un avantage certain par rapport aux solutions concurrentes. ”
Contre - Sami Jaber (cabinet DNG Consulting) : “ Sun aurait peut-être dû conserver Java ”
“ JavaFX arrive tard par rapport à des technologies concurrentes telles que Flex/AIR d'Adobe et Silverlight de Microsoft. Et mis à part de bonnes performances, Sun n'apporte rien d'original avec JavaFX. Mais c'est surtout le choix de JavaFX Script qui risque de rebuter les développeurs. Sun aurait dû conserver Java. Un langage de script est peut-être plus simple à appréhender, mais cela reste un nouveau langage, avec de nouvelles habitudes et, parfois, de nouveaux outils. A l'inverse, Java est un langage riche, fortement typé, que la plupart des développeurs maîtrisent. De plus, l'homogénéité d'une plate-forme est primordiale. Si Google Web Toolkit fait un carton dans la communauté des développeurs Java, c'est justement parce qu'il permet de coder des applications Ajax en Java, sans changer les habitudes des développeurs. ”
















