XML User Interface Language
XUL (acrónimo de XML User Interface Language), lenguaje basado en XML para la interfaz de usuario, desarrollado por Mozilla. XUL se implementa como un dialecto XML, lo que permite que las interfaces gráficas de usuario se escriban de manera similar a las páginas web.
XUL no es un estándar. La mejor fuente para encontrar material de referencia sobre XUL son páginas especializadas así como libros técnicos.
La principal ventaja de XUL es que aporta una definición de interfaces GUI simple y portable. Esto reduce el esfuerzo empleado en el desarrollo de software.
Otras aplicaciones aparte de Mozilla usan este lenguaje para sus interfaces de usuario. Algunas de ellas usan JavaScript para su lógica. Las aplicaciones XUL tienen la ventaja de poder correr en distintos sistemas operativos.
En agosto de 2015, Mozilla anunció que la utilización de XUL para crear extensiones de Firefox sería abandonado en el futuro a favor del uso de WebExtensions.[1] Pale Moon, un fork de Firefox para Windows y Linux, continuará soportando XUL de manera indefinida.[2] Waterfox, otro fork de Firefox para Windows, macOS, y Linux planea el desarrollo continuo de un navegador basado en XUL comenzando desde la última versión XUL de Firefox lanzada por Mozilla.[3]
Introducción
XUL es un lenguaje basado en XML (Extensible Markup Language) utilizado para describir y crear interfaces de usuario, que ha sido diseñado para brindar la portabilidad de las mismas, por lo que permite desarrollar aplicaciones multi-plataforma sofisticadas o complejas sin necesidad de herramientas especiales.
Inicialmente XUL fue creado para desarrollar los productos de Mozilla (navegador y cliente de correo electrónico, entre otros) de una forma más rápida y fácil. Al ser un lenguaje basado en XML, contiene todas las características disponibles para XML y sus mismas ventajas.
Estas aplicaciones son fácilmente personalizadas con textos, gráficos y demás, por lo que pueden ser rápidamente localizadas en diferentes mercados. Los desarrolladores Web que estén familiarizados con DHTML podrán aprender XUL rápidamente e incorporarlo en el desarrollo de sus aplicaciones.
Objetivos
La mayoría de las aplicaciones se deben desarrollar utilizando las características propias de una plataforma específica, haciendo que el desarrollo de software multi-plataforma sea costoso y consuma tiempo. Es por esto que en el pasado se han desarrollado soluciones multi-plataforma que brinden dicha portabilidad (como por ejemplo Java), y que este aspecto sea su característica más fuerte. XUL fue ideado para que una interfaz pueda ser implementada y modificada fácil y rápidamente.
XUL puede ser utilizado en lugar de HTML, cuando se requiera desarrollar una interfaz de usuario portable y compleja. A diferencia de HTML, XUL provee un gran conjunto herramientas para crear menús, paneles, barras de herramientas y asistentes, entre otras. Gracias a esto, no será necesario utilizar un lenguaje de programación propietario o incluir un extenso código JavaScript para manejar la interfaz de usuario, puesto que el comportamiento está implementado por el propio navegador.
Componentes
Una interfaz XUL se define mediante la especificación de tres grupos de componentes distintos:
- Content
- Aquí se encuentran los documentos XUL, que definen el diseño de la interfaz.
- Skin
- Contiene las hojas de estilos (CSS) y las imágenes, las cuales definen la apariencia de la interfaz.
- Locale
- Los documentos DTD se encuentran aquí, estos documentos facilitan la localización de páginas XUL.
Elementos
XUL provee una gran cantidad de elementos o componentes de interfaz gráfica (la mayoría de los que se encuentran en las interfaces gráficas actuales), entre estos tenemos:
- Controles de Entrada como TextBox, CheckBox, etc.
- Barras de Herramientas con botones u otro contenido
- Menús en una Barra de Menú o diálogos emergentes (pop-up).
- Árboles
- Atajos del teclado
- Scripts y Eventos
- Overlay (elemento adicional creado por XUL, en un plug-in de firefox es de donde "se cuelga" o que le agrega a firefox).
Tipo de Aplicaciones XUL
Hay cuatro tipos distintos de aplicaciones, según como las mismas son creadas:
- Extensiones de Firefox
- Son barras de herramientas, menús u otros documentos XUL que agregan funcionalidades a Firefox. Para hacer esto, se usa un elemento definido por XUL llamado “Overlay”, este elemento permite incorporar documentos al navegador mismo.
- Aplicaciones independientes
- Estas aplicaciones son creadas mediante XULRunner, que es una versión de Mozilla que permite crear aplicaciones XUL independientes. No es necesario el navegador para ejecutar estas aplicaciones, tienen su propio ejecutable.
- Paquete XUL
- es un intermedio entre los dos tipos anteriores, es instalado como una extensión, pero actúa como una aplicación separada del navegador. Este tipo de aplicaciones son creadas cuando no queremos utilizar una aplicación XULRunner completa.
- Aplicaciones XUL Remotas
- son aplicaciones XUL que se encuentran en un Servidor Web y son ejecutadas remotamente como cualquier otra página web.
Véase también
Referencias
- Kev Needham (21 de agosto de 2015). «The Future of Developing Firefox Add-ons». blog.mozilla.org. Consultado el 7 de septiembre de 2015.
- «Pale Moon future roadmap». Pale Moon. 9 de mayo de 2016. Consultado el 8 de junio de 2016.
- «Proposal for Waterfox 56». Reddit. 11 de marzo de 2017. Consultado el 22 de mayo de 2017.
Enlaces externos
- Wikilibros alberga un libro o manual sobre XUL.
- Documentación sobre XUL en el Mozilla Developer Center en español
- Página principal XUL de Mozilla (en inglés)
- Lista correo de XUL en castellano
- Foros web de XUL en castellano
- Un grupo interesante de capturas de pantalla XUL del proyecto Xulfaces
- Xul and Xul Dev project
- Ejemplo de implementacin XUL en un framework para java