2. JavaFx MARTINETTI & SANTONI
Sommaire
Contexte................................................................................................ 2
Qu'est ce que sont les RIA ?....................................................................... 2
JavaFx................................................................................................... 4
Objectifs concrets.................................................................................. 4
Mise en œuvre.......................................................................................4
JavaFx Script........................................................................................... 5
Caractéristiques.................................................................................... 5
OpenSource.......................................................................................... 5
JavaFx Mobile ..........................................................................................6
Outils de développement et de design............................................................. 7
JRE Consumer.......................................................................................... 8
Bilan......................................................................................................9
Sources................................................................................................. 10
Università di Corsica – 19/12/2007 2/10
3. JavaFx MARTINETTI & SANTONI
Contexte
JavaFx est un ensemble de produits et de technologies créé par Sun Microsytems afin
d'intégrer le marché des technologies des Rich Internet Applications.
Ce marché suscitant un attrait toujours plus important chez les utilisateurs, il est donc
logique que des sociétés de softwares aient misé sur cette branche. En effet,
l'ergonomie, la simplicité et l'optimisation de l'interface client des ces nouvelles
applications en sont les principaux facteurs de réussite.
Qu'est ce que sont les RIA ?
Il est important de développer ce concept car l'existence même de JavaFX repose
dessus.
Les RIA contrairement aux applications classiques donnent une grande importance à
l'utilisation du logiciel coté client :
• une ergonomie mieux pensée
• une nouvelle dimension interactive
• une vitesse exécution accrue
Internet étant devenue de plus en plus accessible et de plus en plus utilisé, les
internautes sont devenus retissant à l'idée d'installer de nouveaux logiciels sur leurs
ordinateurs. Les Rich Internet Applications sont donc une alternative efficace à
l'installation de nouveaux logiciels sur un ordinateur, car à présent, on peut obtenir
l'équivalent en ligne, donc à la fois sans installation et disponible depuis n'importe quel
poste doté d'une connexion internet.
Les RIA s'efforcent de rapatrier en local une partie de la boucle client/serveur. Le
langage Java en particulier a été conçu dans cette optique.
Les RIA utilisent les ressources du processeur du client, elles offrent aux applications
web des possibilités d'interfaces utilisateur en temps réels qui seraient impossibles avec
des balises HTML standards. (ex: au passage de la souris sur un lien, afficher la suite de
l'article dans une textbox sans avoir à charger la page).
On peut donc effectuer des actions dont les données n'ont pas besoin d'être envoyées au
serveur (ex : drag'n drop, données de l'utilisateur...).
En conclusion simpliste : les RIA offrent une alternative à l'installation de logiciels sur un
ordinateur.
Università di Corsica – 19/12/2007 3/10
4. JavaFx MARTINETTI & SANTONI
JavaFx
Objectifs concrets
L’objectif de JavaFx est de permettre la mise au point d’une Rich User Experience (qui
se traduit par : “ une experience d’utilisateur riche ”) grâce à l’ensemble de logiciels et
de produits qui le composent.
Il a ainsi pour but de combler les lacunes de la version standard de Java dans ce
domaine.
Au travers de JavaFx, Sun a voulu créer un produit capable d’être utilisé sur tous les
terminaux, notamment sur la mobile nouvelle génération qui sont une cible privilégiée
des RIA.
Mise en œuvre
JavaFx se compose de 4 grands axes :
• le JavaFx Script, afin de combler les lacunes des interfaces actuelles (Swing, AWT,
2D) qui sont à la fois complexe dans l'implémentation mais qui ne sont pas assez
puissantes.
• l’amélioration du Java Runtime Environement, pour améliorer “ l'user experience ”
notamment lors du processus d'installation (réduire le poids des fichiers, proposer une
interface plus conviviale, etc...)
• un éditeur graphique, afin d'exploiter au mieux le potentiel de JavaFx Script sans
avoir une connaissance énorme en programmation (comme Flash)
• le JavaFx Mobile, pour s'adapter au marché des nouveaux mobiles, très puissants où
Java Mobile Edition n'est plus tout a fait adapté
L’idée principale étant de “rester dans le coup”, Sun a voulu permettre à l’utilisateur
une plus grande autonomie et mettre à sa disposition des outils qui lui permettront de
créer des RIA conviviales et d'une grande qualité.
Università di Corsica – 19/12/2007 4/10
5. JavaFx MARTINETTI & SANTONI
JavaFx Script
Le JavaFx Script est le premier élément concret de JavaFx. Anciennement nomé F3
Fonctions Follows Form par son créateur Chris Oliver. Ce langage comble le fait que rien
dans le Java actuel ne soit adapté aux interfaces riches.
Caractéristiques
• Tourne sur la JVM
• Orienté Objets, syntaxe déclarative
• Typé statiquement
• Est compilé en bytecode
• Construit en databinding
• Conçu pour les animations et les images
• Orienté Interfaces, adapté aux Interfaces Riches
• Intègre Swing tout en améliorant son rendu
OpenSource
JavaFx Script n’en est encore qu’à sa version alpha. Il est donc difficile d’y voir
véhiculer des applications pour le moment et celles disponibles ne sont que des versions
de démonstration. En revanche la communauté OpenSource est active et il existe un site
où vous pourrez trouver grand nombre d’informations (voir la fin du rapport).
(update : suite à la remarque de Mme. NIVET nous précisons ceci)
Il est bon de préciser que JFX Script n’est pas un langage de script mais bel et bien un
langage précompilé en bytecode puis interprété par la JVM.
Università di Corsica – 19/12/2007 5/10
6. JavaFx MARTINETTI & SANTONI
JavaFx Mobile
JavaFx Mobile est le tout nouveau système d’exploitation de Sun. Ce dernier se base sur
les piles Linux et Java. Avec JavaFx Mobile, l’interface utilisateur, et toutes les
applications sont écrites en Java (incluant JME et JSE), et peuvent être programmées en
utilisant le nouveau langage JavaFx Script.
JavaFx Mobile est une implémentation complètement stable. Ce n’est pas juste une
multitude de spécifications, mais une seule implémentation. Un tout composé de sont
OS, de ses applications, conçues entièrement en Java. Seulement le noyau et quelques
drivers sont écrits en C.
JavaFx Mobile est conçut pour la dernière génération de téléphones, pour que ces
derniers soient compatibles avec JavaSE.
Les objectifs de Sun dans ce domaine semblent clairs, mais il faut savoir qu’il n’existe
pas de version de démonstration pour le moment, donc les informations sont
vraisemblablement plus de l’ordre du marketing que de la réelle spécification
technique.
Università di Corsica – 19/12/2007 6/10
7. JavaFx MARTINETTI & SANTONI
Outils de développement et de design
Même si JavaFx Script est encore au stade de prototype il existe quelques outils
permettant de faire connaissance avec.
Pour ce qui est des outils de développement :
• un plugin de NetBeans, qui permet la mise en couleur du code, la compilation ainsi
que la prévisualisation des applications JFX Script.
• FxPad, un outil programmé en JFX Script qui permet de créer du code JFX Script, de
le mettre en couleur et d’en voir ses effets. Quelques petits « plus » dont disponible
comme le fait de déplacer graphiquement des éléments de l’interface, mais cela reste
pour l’instant de l’ordre de l’anecdotique.
Concernant les designers, Sun veut créer une application à part entière comme par
exemple Adobe Flash. Ca serait un programme orienté davantage aux graphistes qu’aux
programmeurs afin de combler le manque dans ce domaine.
Il est aussi prévu d’ajouter encore quelques fonctions Fx à NetBeans afin de pouvoir
éditer les interfaces de façon graphique.
Università di Corsica – 19/12/2007 7/10
8. JavaFx MARTINETTI & SANTONI
JRE Consumer
Aussi connu sous le nom de « project Hamburg », cette mise à jour du JRE à pour but
principal de rendre l’User Experience qui entoure Java plus agréable. Voici les grandes
lignes du JRE, nous vous invitons cependant à consulter ce PDF qui est celui de la
conférence JavaOne à ce sujet et qui vous dira tout sur ce sujet.
• Nouvel installer
visuellement plus agréable
o
taille des mises à jours moins importante
o
installation plus rapide
o
• Deployment Toolkit
outils de vérification de version beaucoup plus adaptés
o
une version javascript et une version sous forme de plugin
o
installation automatique de la bonne version
o
• Quick Start service
Pour augmenter la vitesse de lancement, un nouveau produit nommé
o
QuickStart permettra de garder Java en cache et ainsi de la démarrer « à
chaud » (Warmup start vs. Cold start)
• Java Kernel
Sun propose une modularisation du JRE afin d’avoir des tailles de
o
l’environnement plus en rapport avec celle de ses concurrents ainsi que
tous les outils adaptés pour que cette modularisation ne soit pas trop
contraignante
HelloWorld module < 2Mo
§
Swing < 4 Mo
§
Télécharge seulement les modules nécessaires
o
Télécharge automatiquement les composants manquants
o
Tout cela est transparent pour les applications
o
• New Browser Plugin
Nouvelle implémentation du plugin des applets
o
Plus stable, il est impossible de faire planter le navigateur, selon les
o
mots même de Sun, ce dont nous doutons un peu.
Università di Corsica – 19/12/2007 8/10
9. JavaFx MARTINETTI & SANTONI
Bilan
Tout d’abord, JavaFx est pour l’instant un produit marketing car les effets d’annonces
se multiplient chez Sun. Mais en dressant le bilan des diverses utilisations que pourra
avoir JavaFx on se rend compte que, sur le plan positif :
il permet un gain de temps au niveau du développement des interfaces complexes et
ü
des animations
l’User Experience n’est plus laissée au second plan, notamment grâce aux nouvelles
ü
interfaces supportées et à l’ergonomie. De plus il est bon de noté que Sun optimise ses
installer et le JRE
le produit sera parfaitement adapté au marché qu’il vise
ü
Malgré tout on peut reprocher à JavaFx :
D’être théoriquement très intéressant mais concrètement absent
v
JavaFx Script n’en est qu’à sa version alpha
o
L’éditeur graphique se fait attendre
o
JavaFx Mobile également
o
En revanche il est dur d’établir un bilan qui soit impartiale, car rien n’est encore figé.
JavaFx étant encore au stade expérimental, il est impossible de lister ses avantages et
ses défauts puisque tout est susceptible de changer avec le temps.
Università di Corsica – 19/12/2007 9/10
10. JavaFx MARTINETTI & SANTONI
Sources
RIA
Blog en français sur les RIA
Ø
http://en.wikipedia.org/wiki/Rich_Internet_application
Ø
JavaFx Script
https://openjfx.dev.java.net/
Ø
http://blogs.sun.com/chrisoliver/entry/f3
Ø
FxPad (outils)
Ø
JRE
2007 JavaOneSM Conference (Session TS-3290)
Ø
JavaFx Mobile
Official Website
Ø
Università di Corsica – 19/12/2007 10/10