JavaFX Script (pour l'histoire)
Ce langage peut être utilisé dans des applets intégrées à des pages Web ou dans des applications Java. Il est concis et sert à définir visuellement une interface graphique et à l'associer aux fonctions de l'application.
Sur la base du langage F3 (Form Follow Function), racheté en 2005, Sun a développé JavaFX Script, un langage déclaratif destiné à décrire des interfaces graphiques, pour le framework JavaFX. Ce langage entre en concurrence avec XUL et XAML mais sa syntaxe le rapproche de JavaScript, tandis que le framework JavaFX, dont la version 1.0 est publiée en décembre 2008, est lui concurrent de Adobe AIR et Silverlight, autres frameworks pour applications Web.
Destiné à concevoir des GUIs, il dispose de fonctionnalités pour associer les composants aux données de l'application et donc synchronizer l'interface avec les données et sa syntaxe est cinq fois plus concise que celle de Java.
Il veut combiner le texte enrichi, le graphisme, les animations, l'audio et la vidéo.
Mise à jour 2011. JavaFX Script n'est plus supporté depuis JavaFX 2.0 et doit être considéré comme obsolète. Java à été revendu par Sun à Oracle.
Caractéristiques du langage
- Types: String, Number, Integer, Boolean, Void, Null, Duration.
- On ne déclare pas le type, il est impliqué par ce qui est assigné. On utile le mot-clé var ou def.
- Les opérateurs sont ceux de Java.
- Toute chose est une expression.
- Un objet est défini par un littéral selon la syntaxe d'un tableau comme en JavaScript.
- Les symboles {} ont des usages multiples. Ils servent à grouper un contenu, à insérer une variable dans une chaîne (PHP utilise directement la variable avec son préfixe $). A concaténer des chaînes.
- Le même chose peut être écrite de façon équivalente sous une forme déclarative et une forme procédurale.
- Il peut utiliser les classes Java préexistantes.
Syntaxe
La syntaxe procédurale est similaire à celle de JavaScript. La syntaxe déclarative s'appuie sur l'API du framework JavaFX pour décrire facilement une interface.
Déclaration d'une fonction:
function display() { println("Hello!"); }
Sans type de retour:
function display() : Void { println("Hello!"); }
Tableau:
var myArray = [ 1, 2, 3, 4 ]
Objet JavaFX et JavaFX Script:
Stage { title: "Déclarer est facile!" width: 320 height: 240 visible: true }
L'objet Stage permet de définir une fenêtre. On ajoute un titre et les dimensions.
La même déclaration écrite sous forme procédurale:
var myStage:Stage = new Stage(); myStage.title = "Déclarer est facile!";
myStage.width = 320;
myStage.height = 240; myStage.visible = true;
Exemples
Hello world!
Stage { scene: Scene { content: Text { font: Font { size: 24 } x: 10 y: 30 content: "Hello World!" } } }
Afficher le contenu d'un tableau.
var arr = [ 1, 2, 3, 4, 5] for(x in arr) { println(x); }