Idioma de la interfaz de usuario basada en XML

Lenguaje de interfaz de usuario XML (XUL) Imagen en Infobox. Caracteristicas
Extensión .xul
Tipo de Mimica aplicación / vnd.mozilla.xul + xml
Desarrollado por Fundación Mozilla
Tipo de formato Lenguaje de marcado
Especificación Formato abierto
Sitio web (en)  developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL

XUL (abreviaturaXUL) es una descripción de lenguaje deinterfaces gráficasbasada enXMLcreada como parte del proyectoMozilla. XUL se pronunciaZoulen inglés (para rimar concool, pero también en homenaje al semidiósZoulen la película Ghostbusters ).

En agosto 2015, Mozilla anunció que el uso de XUL para crear extensiones de Firefox quedará obsoleto en futuras versiones a favor de WebExtensions .

Caracteristicas

XUL incluye un conjunto de etiquetas que permiten definir botones, listas, menús o incluso editar zonas; en resumen, todos los elementos de una verdadera interfaz de usuario. Dicho lenguaje facilita el trabajo del desarrollador y hace posible escribir la interfaz de una aplicación tan fácilmente como una página web.

El desarrollo de una aplicación XUL es similar al desarrollo de una aplicación cliente-servidor tradicional. Cada objeto gráfico está asociado con eventos (clic del mouse, doble clic , etc. ) para los cuales el desarrollador debe escribir código (generalmente en JavaScript ) para ser ejecutado por la máquina cliente. La aplicación puede recuperar datos de un servidor, por ejemplo, a través de solicitudes HTTP .

El hecho de definir la estructura de la interfaz gráfica en un documento XML permite reutilizar la misma estructura de un entorno a otro e incluso de un lenguaje de programación a otro. Existen motores similares a XUL para GTK + ( Glade ), Java , PHP , JavaScript , Flash ( MXML ), Qt ( Qt Designer ), wxWidgets (wxXmlResource, archivos XRC), .Net ( XAML ) y Android .

Los dos grandes activos de XUL son su extensibilidad y la facilidad para reutilizar elementos. Es posible definir sus propias etiquetas para configurar componentes complejos y reutilizables escribiendo un archivo XBL ( eXtensible Binding Language ). Este comprende, para cada nuevo componente que describe, una parte que describe el aspecto gráfico del componente, por asociación de elementos gráficos básicos, por ejemplo, y varias partes que describen su comportamiento, en forma de funciones JavaScript. Las vinculaciones así definidas pueden heredarse unas de otras y sobrecargar su contenido o comportamiento.

Inicialmente, XUL se desarrolló para permitir la creación sencilla de la GUI del navegador web de Mozilla . Un motor XUL está integrado en el motor Gecko de Mozilla. Más tarde, Mozilla desarrolló XULRunner , para permitir que las aplicaciones XUL se ejecutaran sin Mozilla o Firefox, antes de abandonarlo.

Organización de una ventana

Una ventana XUL está diseñada como un anidamiento de "cajas" rectangulares. Una caja contiene subelementos que se yuxtaponen vertical u horizontalmente. Estos subelementos pueden ser campos de texto, listas desplegables, campos que muestran código HTML , etc. Estos subelementos también pueden ser cajas, que a su vez contendrán otros elementos. Dentro de cada cuadro, varios parámetros permiten configurar fácilmente la alineación de los subelementos (izquierda, superior, centrada, etc.) así como su comportamiento cuando se cambia el tamaño de la ventana (tamaño fijo, tamaño proporcional, etc.).

La visualización de todos estos elementos gráficos se puede configurar mediante una hoja de estilo CSS , lo que facilita el acceso de los desarrolladores web a XUL.

Ejemplo

Comparación entre unas pocas líneas de código XUL y HTML que muestran el tradicional "  ¡Hola mundo !" ":

XUL

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <box> <description>Hello world!</description> </box> </window>

HTML

<html> <body> <p> Hello World! </p> </body> </html>

XUL y otras tecnologías GUI

XUL facilita el desarrollo de una interfaz más avanzada que HTML a nivel técnico. De hecho, los objetos XUL se manejan a través de una interfaz DOM , como en DHTML . Además, una interfaz XUL puede recuperar de un servidor los únicos datos necesarios para actualizar un elemento de la página y no toda la página en sí; estos datos se pueden recuperar en XML y de forma asíncrona, lo que hace posible utilizar el método AJAX en la programación XUL. Estas técnicas mejoran significativamente los tiempos de respuesta y la comodidad del usuario. El entorno XUL los utiliza de forma transparente para el usuario en el sistema de plantillas (plantillas de página) lo que permite generar parte de la interfaz de usuario a partir de datos externos en RDF , sin necesidad de escribir una línea de código Javascript. XUL puede explotar e interactuar con varios recursos de Mozilla, incluido SVG .

XUL también es un competidor de las tecnologías cliente-servidor tradicionales como Delphi . XUL ofrece, por ejemplo, la ventaja de estar basado en estándares abiertos, como XML, y en software libre  : los archivos de descripción de la interfaz son archivos de texto simples. Sin embargo, XUL no se beneficia actualmente del soporte de entornos de desarrollo sofisticados: los archivos XML deben escribirse o generarse para describir la interfaz gráfica.

Ver también

Software relacionado con XUL

Referencias

  1. Kev Needham, "  El futuro del desarrollo de complementos de Firefox  " , en blog.mozilla.org ,21 de agosto de 2015(consultado el 7 de septiembre de 2015 )

enlaces externos