FXML
| Extension |
.fxml |
|---|---|
| Développé par | |
| Version initiale |
Octobre 2011 |
| Type de format |
Texte |
| Basé sur | |
| Spécification |
modifier - modifier le code - modifier Wikidata Documentation du modèle
FXML est un format de données textuelles, dérivé du format XML, qui permet de décrire une interface utilisateur pour des applications conçus avec JavaFX [1] .
Il s'agit d'une alternative à la conception d'interfaces réalisés par l'écriture de lignes de codes, en découplant l'interface graphique du code source qui le contrôle.
Cette technologie a été intégrée dans JavaFX à partir de sa version 2.0, pour remplacer JavaFX Script [2] .
Pour faciliter la manipulation de ce format de données, le logiciel Scene Builder a été développé par Oracle, permettant ainsi de décrire rapidement des interfaces[3] .
Exemple
[modifier | modifier le code ]L'exemple ci-dessous décrit une liste verticale contenant deux boutons, avec un espacement de 10 pixels entre eux.
<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.layout.VBox?> <VBoxalignment="CENTER"maxHeight="-Infinity"maxWidth="-Infinity"minHeight="-Infinity"minWidth="-Infinity"prefHeight="300.0"prefWidth="300.0"spacing="10.0"xmlns="http://javafx.com/javafx/10.0.1"xmlns:fx="http://javafx.com/fxml/1"> <children> <ButtonmnemonicParsing="false"text="Bouton"/> <ButtonmnemonicParsing="false"text="Bouton"/> </children> </VBox>
Avantages et inconvénients
[modifier | modifier le code ]Avantages
[modifier | modifier le code ]- Le principal avantage à cette manière de décrire une interface utilisateur est la séparation distincte entre la vue et le contrôleur[4]
- N'étant pas un langage compilé mais interprété, il suffit de recharger un fichier FXML pour mettre à jour la vue
- Il est possible d'avoir plusieurs versions d'une même vue, utile notamment dans le cas de la phase de développement d'un logiciel
- Il y a une gestion native de la localisation, ce qui permet d'afficher le texte utilisé par l'interface en fonction d'une langue
Inconvénients
[modifier | modifier le code ]- La vitesse de chargement d'une l'application JavaFX sera un peu plus lente, en raison de la lecture de fichiers au format FXML et l’interprétation des données qu'ils contiennent
- Il ne permet que de décrire que des interfaces "statiques", c'est-à-dire que le contenu n'est pas censé changer dans le temps: autrement, il faut nécessairement passer par l'écriture de code source.
- Étant donné que la technologie utilise la réflexion pour générer l'interface, le débogage du programme peut être délicat.
Annexes
[modifier | modifier le code ]Articles connexes
[modifier | modifier le code ]Liens externes
[modifier | modifier le code ]Références
[modifier | modifier le code ]- ↑ (en) « Introduction to FXML », sur openjfx.io, (consulté le )
- ↑ (en) « JavaFX 2.0 Release Notes », sur docs.oracle.com, (consulté le )
- ↑ (en) « JavaFX Scene Builder », sur oracle.com (consulté le )
- ↑ (en) « Mastering FXML: Why use FXML », sur docs.oracle.com, (consulté le )