FXML

FXML Caracteristicas
Extensión .fxml
Desarrollado por Oráculo
Versión inicial Octubre de 2011
Tipo de formato Texto
Basado en XML
Especificación Formato abierto

FXML es un formato de datos textuales, derivado del formato XML , que se utiliza para describir una interfaz de usuario para aplicaciones diseñadas con JavaFX .

Esta es una alternativa al diseño de interfaces que se realiza escribiendo líneas de código, desacoplando la interfaz gráfica del código fuente que la controla.

Esta tecnología se ha integrado en JavaFX desde la versión 2.0, para reemplazar JavaFX Script .

Para facilitar el manejo de este formato de datos, Oracle desarrolló el software Scene Builder , lo que permitió describir rápidamente las interfaces.

Ejemplo

El siguiente ejemplo muestra una lista vertical que contiene dos botones, con un espacio de 10 píxeles entre ellos.

<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.layout.VBox?> <VBox alignment="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> <Button mnemonicParsing="false" text="Bouton" /> <Button mnemonicParsing="false" text="Bouton" /> </children> </VBox>

Ventajas y desventajas

Ventajas

  • La principal ventaja de esta forma de describir una interfaz de usuario es la clara separación entre la vista y el controlador.
  • Al no ser un lenguaje compilado pero interpretado, basta con recargar un archivo FXML para actualizar la vista
  • Es posible tener varias versiones de la misma vista, útil en particular en el caso de la fase de desarrollo de un software.
  • Existe una gestión de localización nativa, que permite visualizar el texto utilizado por la interfaz según un idioma

Desventajas

  • La velocidad de carga de una aplicación JavaFX será un poco más lenta, debido a la lectura de archivos en formato FXML y la interpretación de los datos que contienen.
  • Solo permite describir interfaces "estáticas", es decir que no se supone que el contenido cambie con el tiempo; de lo contrario, es necesario pasar por la escritura del código fuente.
  • Dado que la tecnología utiliza la reflexión para generar la interfaz, depurar el programa puede ser complicado.

Apéndices

Artículos relacionados

enlaces externos

Referencias

  1. (en) "  Introducción a FXML  " en openjfx.io ,1 st de mayo de 2017(consultado el 22 de abril de 2019 )
  2. (en) "  Notas de la versión de JavaFX 2.0  " en docs.oracle.com ,octubre 2011(consultado el 22 de abril de 2019 )
  3. (in) "  JavaFX Scene Builder  " en oracle.com (consultado el 22 de abril de 2019 )
  4. (in) "  Dominar FXML: por qué usar FXML  " en docs.oracle.com ,Enero 2014(consultado el 22 de abril de 2019 )