En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies pour vous proposer des services et offres adaptés à vos centres d’intérêts.FERMER  x
Pour en savoir plus et paramétrer les cookies...

Flash, HTML5, Silverlight... : le guide RIA pour mieux choisir (3/6) - JavaFX

Quelle technologie choisir pour ses développements web ? Au-delà des discours marketing et politiques, le choix d'une technologie web devra être guidé par les usages. Aujourd'hui, la technologie JavaFX.

laisser un avis
Avec l’émergence d’HTML5, le succès de l’iPhone et de ses applications natives, les discours s’entrechoquent : HTML5 va remplacer Flash et Silverlight, Flash n’est pas mort, etc. Pour une marque qui veut lancer une opération marketing sur le web, un DSI qui veut déployer une application web ou mobile, la question est aujourd’hui de savoir quelle technologie adopter.
Dans cette série d’articles, nous passerons en revue les technologies les plus populaires : Flash, Silverlight, HTML5, mais également Ajax, GWT, les applications natives pour les mobiles… Pour chacune d’entre elles, nous essaierons de dégager les avantages et les inconvénients, d’évaluer la maturité de la plate-forme, des outils, de la communauté active, la pérennité, et au final les usages possibles et recommandés.
Dans l'épisode précédent, nous avons abordé le cas de Microsoft Silverlight.
Cette semaine :

Oracle JavaFX

Si Java s’est largement imposé en entreprise côté serveur avec Java EE, il n’a pas connu le même succès avec les interfaces utilisateurs côté client, sans doute à cause de l’inconsistance des implémentations et de la discontinuité des différentes librairies graphiques (AWT, puis Swing). Après les applets Java, tombés en désuétude, puis Java Web Start, technologie RDA (Rich Desktop Application) concurrente d’Adobe AIR, les développeurs Java ont préféré se tourner vers des approches RIA à base d’Ajax ou de Flash.
Pour combler cette lacune, Sun introduit en décembre 2008 JavaFX, une technologie RIA avec un langage de script spécifique (JavaFX Script) et des capacités multimédia. Le code JavaFX est compilé en bytecode Java et s’exécute dans une machine virtuelle Java standard (JVM). Non prévue au départ, l’intégration de code Java est devenue possible et permet d’embarquer des composants Swing dans l’application JavaFX.

Les avantages

  • • JavaFX hérite des avantages de Java. Il s’exécute sur toutes les plates-formes possédant une machine virtuelle Java, c’est-à-dire quasiment toutes les plates-formes : JRE (Java Runtime Environment), mobiles équipés de Java ME, etc.
  • • Même si JavaFX Script est un nouveau langage à apprendre, il ne devrait pas poser de problème aux afficionados Java.
  • • JavaFX bénéficie de tout l'outillage Java : Eclipse, NetBeans, IntelliJ, des bibliothèques Swing, etc.
  • • Les compétences Java sont très faciles à trouver

Les inconvénients

  • • JavaFX n’a pas rencontré le succès escompté. Même si la communauté JavaFX continue de grandir, on trouve encore très peu de réalisations concrètes en entreprise.
  • • Son principal défaut, hérité des applets Java, c’est son temps de chargement et son mode de déploiement archaïque, catastrophique pour certains. Lorsqu’un utilisateur clique sur un lien pour lancer une applet JavaFX, rien n’indique l’état d’avancement du chargement, et en cas d’échec il n’y a aucun message d’erreur. De quoi décourager toute velléité de déploiement en entreprise.
  • • Flash est fortement implanté chez les designers, et Silverlight a réussi à faire le pont entre designers et développeurs. Avec JavaFX, rien de tout cela. Même si on trouve des extensions pour Eclipse, NetBeans, IntelliJ, JavaFX manque encore d’outils de conception.
  • • La palette de contrôles JavaFX est nettement insuffisante comparée à celle de Flash et de Silverlight. Pour que la communauté puisse développer des contrôles complémentaires, il faudrait que le code de JavaFX devienne open source. La démarche pour ouvrir les contrôles est en cours mais semble rencontrer quelques difficultés dues à certaines portions de la bibliothèque encore sous copyright.
  • • D’une manière générale, les performances des applications JavaFX sont inférieures à celles de Flash et Silverlight, comme le montre RIABench.

Benchmarks des RIA sur le test Focus sous Windows [Source RIABench]

En attendant JavaFX 2.0

Annoncée lors du dernier JavaOne en septembre, la future version JavaFX 2.0, prévue pour 2011, abandonnera le langage script au profit d’une nouvelle API Java, elle sera capable de générer de l’HTML5, du JavaScript et du CSS, et améliorera le déploiement. Des annonces que la communauté Java a accueilli très favorablement.
Avec l’abandon du langage de script, c’est la possibilité d’écrire les applications JavaFX en Java directement, mais également dans n’importe quel autre langage compatible JVM tel que Groovy ou JRuby. La génération de JavaScript place JavaFX 2.0 comme concurrent de Google Web Toolkit (GWT).
JavaFX 2.0 se concentre sur le poste de travail mais semble oublier les plates-formes mobiles. Enfin l’abandon du langage de script ne fait pas l’unanimité. C’était un peu l’originalité de JavaFX pour la construction d’interface utilisateur, Flash et Silverlight utilisant des langages XML déclaratifs. Cependant, un nouveau DSL (Domain Specific Language) a été annoncé pour prendre la relève de JavaFX Script : Visage.
Avec cette version, FlashFX 2.0 entend combler son retard technologique. Pour l'heure, cette version n’en est qu’au stade de propositions de fonctionnalités. Elle arrive dans un marché déjà bien encombré et dominé par Flash.
Au final, JavaFX est une technologie avec de belles promesses, un bon condidat pour remplacer le couple Flash/Flex en environnement Java. Les possibilités de binding, l'immense API Java le destinent avant tout aux applications orientées données pour l'entreprise. Pour la plate-forme Java, il constitue le pendant de Silverlight pour la plate-forme .NET.

A lire également :

- Flash (1/5)

- Silverlight (2/5)

envoyer
par mail
imprimer
l'article


@01Business_fr sur
à lire aussi
SUR LES MÊMES THÈMES
Histoire des interfaces utilisateurs (5) – Les années web
Flash, HTML5, Silverlight... : le guide pour RIA mieux choisir (2/6) - Silverlight [MAJ]
Flash, HTML5, Silverlight...: le guide RIA pour mieux choisir (1/6) - Flash
Quels sont les OS mobiles préférés des développeurs ?
Embarcadero se lance dans la compétition des outils HTML5
15 août 2012 : le jour où Flash s’arrêtera
Wakanda 1.0, nouvel environnement HTML5/NoSQL
Une Muse pour inspirer le concepteur du HTML5
Adobe renforce CQ, sa plate-forme web
Adobe s'explique sur l'avenir de Flash
Occupy Flash, le site qui veut la peau de Flash
Développement cloud : Cyclone débarque dans les nuages
Microsoft dévoile Silverlight 4
Moonlight 2.0 passe enfin en bêta… après sept versions alpha
iPad Air 2 et iPad mini 3 : le test en images (vidéo du jour)
iPad AIr 2 et iPad mini 3 : 01netTV répond à vos questions (vidéo)
L'iPhone 6 dope les résultats d'Apple mais les ventes d’iPad déclinent
Nouveaux iPad : l’entreprise, la grande oubliée d’Apple
Achèterez-vous les nouveaux iPad ? (vidéo)