stringtranslate.com

XUL

XUL ( / ˈz uːl / ZOOL ), que significa lenguaje de interfaz de usuario XML , es un lenguaje de marcado de interfaz de usuario desarrollado por Mozilla . XUL es un dialecto XML para escribir interfaces gráficas de usuario , que permite a los desarrolladores escribir elementos de interfaz de usuario de manera similar a las páginas web .

Las aplicaciones XUL dependen del código base de Mozilla o de una bifurcación del mismo. El ejemplo más destacado es el navegador web Firefox . Sin embargo, Mozilla ha reducido significativamente el uso de XUL en Firefox después de su reescritura del motor del navegador en la versión 57. [1] [2] Esto resultó en la eliminación del sistema de complementos heredado , que dependía de XUL y XPCOM , otra tecnología multiplataforma que Mozilla decidió descontinuar poco antes del lanzamiento de Firefox 57. Firefox originalmente permitía que los complementos alteraran ampliamente su interfaz de usuario, pero esta capacidad se eliminó en 2017 y se reemplazó con la API WebExtensions menos permisiva . [3] [4] Varias bifurcaciones de Firefox conservan el soporte para complementos basados ​​en XUL y XPCOM. Waterfox mantiene una bifurcación del código base heredado de Mozilla para el navegador Waterfox Classic . [5] El navegador Pale Moon , [6] el navegador Basilisk , [7] el sistema operativo Hyperbola , [8] y numerosos proyectos más pequeños utilizan y mantienen colectivamente la implementación de la Plataforma XUL Unificada (UXP).

Historia

La tabla periódica de elementos XUL es una extensión de referencia diseñada para demostrar las capacidades de XUL.

XUL fue ideado en Netscape en 1997 como parte del esfuerzo de desarrollo que eventualmente se convirtió en la base de código de Mozilla . [9] XUL es similar a las tecnologías web implementadas por el motor de renderizado Gecko . Cuando se introdujo XUL, agregó características más allá del HTML 4, que entonces era estándar . Fue diseñado como una extensión de HTML para ser utilizado con aplicaciones en lugar de documentos. [10]

XUL fue utilizado por varios proyectos de Mozilla, bifurcaciones de proyectos de Mozilla y proyectos estrechamente relacionados con Mozilla. Algunos proyectos de software como Songbird , Komodo IDE y Zotero comenzaron como aplicaciones de escritorio que utilizaban XULRunner para renderizar y componer su interfaz de usuario. A principios de la década de 2000, hubo cierto interés en utilizar XUL por parte de otras partes, incluida Amazon , [11] pero estas se han pasado a HTML5 . [1] [2] Muchas de las características de las tecnologías web modernas como HTML5, CSS3, ECMAScript 5+, WebGL y WebAssembly que hicieron posibles aplicaciones web ricas y modernas, sin la necesidad de utilizar tecnologías heredadas de complementos de navegador NPAPI / PPAPI / ActiveX como Adobe Flash , Silverlight , Java o Shockwave , también hicieron que gran parte de XUL fuera redundante. [10]

Mozilla lanzó Firefox 57, también conocido como Firefox Quantum, en noviembre de 2017. Como parte de esto, Firefox terminó la transición a una arquitectura multiproceso. Aunque los complementos XUL podían funcionar en esta arquitectura, a menudo creaban problemas de rendimiento importantes. Debido a esto, Mozilla eliminó la compatibilidad con complementos heredados , incluido el uso de código XUL personalizado. [3] [4] Mozilla cambió su sistema de extensiones de navegador a la API WebExtensions entre navegadores, que se basa en gran medida en la API de extensión de Chrome. A fines de 2017, Firefox todavía incluía 289 enlaces XUL para componentes nativos del navegador. A fines de 2019, Mozilla había eliminado todos los archivos XUL de su mozilla-centralrepositorio. [12] [1] [2]

Cuando Mozilla eliminó el soporte de Firefox, todavía había varias aplicaciones que usaban XUL. Mozilla comenzó a eliminar gradualmente el soporte de XUL de su cliente de correo electrónico, Thunderbird . Lanzaron Thunderbird 78 sin soporte para extensiones basadas en XUL en 2020. [13] La suite de Internet SeaMonkey decidió volver a implementar XUL para la base de código Firefox Quantum, y el desarrollo de la suite se ralentizó posteriormente. Los desarrolladores de Pale Moon bifurcaron toda la base de código Firefox 52 ESR de Mozilla para crear la Plataforma Unificada XUL (UXP) para su motor de renderizado Goanna . UXP mantiene las capacidades tradicionales de XUL. [14] Como resultado, Pale Moon y otras aplicaciones UXP han seguido siendo de un solo proceso pero más extensibles en comparación con las versiones modernas de Firefox y Thunderbird. [15]

Uso

XUL sólo se puede utilizar con el código base de Mozilla (o una bifurcación del mismo) porque el motor Gecko (o Goanna ) realiza la representación de XUL. [16]

Los programadores de aplicaciones necesitan definir una interfaz XUL como tres conjuntos discretos de componentes:

  1. Contenido: el documento o documentos XUL, cuyos elementos definen el diseño de la interfaz de usuario
  2. Skin: los archivos CSS y de imagen que definen la apariencia de una aplicación.
  3. Configuración regional: los archivos que contienen cadenas visibles para el usuario para facilitar la localización del software

XUL define una amplia gama de elementos, que pertenecen aproximadamente a los siguientes tipos:

El comportamiento predeterminado de los widgets XUL se puede modificar con enlaces XBL .

XBL

XML Binding Language ( XBL ) es un lenguaje de marcado basado en XML para alterar el comportamiento de un widget XUL , como una barra de desplazamiento . [17] [18] Un archivo XBL contiene enlaces , cada uno de los cuales describe el comportamiento de un widget XUL. El elemento raíz de un archivo XBL es el elemento, que contiene uno o más elementos. Cada elemento declara un enlace, que se puede adjuntar a cualquier elemento XUL. También puede poseer un atributo. Un enlace se asigna a un elemento estableciendo la propiedad CSS en la URL del archivo del enlace. [19] Por ejemplo:<bindings><binding><binding>id-moz-binding

barra de desplazamiento { -moz- enlace : url ( 'somefile.xml#binding1' ); }   


Ejemplo

Este ejemplo muestra tres botones apilados uno sobre otro en un contenedor de caja vertical: [20]

<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" tipo="text/css"?><window id= "ejemplo de vbox" title= "Ejemplo 3..." xmlns= "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > <layout> <button id= "yes1" label= "Sí" /> <button id= "no1" label= "No" /> <button id= "maybe1" ​​label= "Tal vez" /> </layout> </window>             

Cazafantasmasreferencia

XUL contiene una referencia a la película de 1984 Los Cazafantasmas . [21] El antagonista de la película es la deidad ficticia Zuul, el Guardián de la Puerta. [22] Zuul posee al personaje Dana Barrett y declara: "No hay Dana. Solo hay Zuul". [23] [21] Los creadores de XUL, que se pronuncia igual que Zuul, [24] crearon el eslogan, "No hay datos. ¡Solo hay XUL!". [25] El eslogan y Zuul como guardián de la puerta están referenciados en el URI del espacio de nombres XML de XUL y anteriormente estaban presentes en todos los complementos de Firefox: [21]

http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul

—  Mozilla [21]

Referencias

  1. ^ abc Hirsch, Jared (2 de septiembre de 2018). «Life After XUL». Mozilla Developer Network (MDN) . Mozilla. Archivado desde el original el 29 de noviembre de 2018. Consultado el 28 de noviembre de 2018 .
  2. ^ abc "Problemas con XUL". mozilla.github.io . Consultado el 7 de junio de 2019 .
  3. ^ ab «Firefox 57.0, ver todas las nuevas funciones, actualizaciones y correcciones». Mozilla . 14 de noviembre de 2017 . Consultado el 27 de septiembre de 2022 .
  4. ^ por Kev Needham (21 de agosto de 2015). "El futuro del desarrollo de complementos para Firefox". blog.mozilla.org . Consultado el 2 de abril de 2018 .
  5. ^ Kontos, Alex (28 de abril de 2018). «Waterfox, su legado y la mirada al futuro». Blog de Waterfox . Consultado el 20 de junio de 2018 .
  6. ^ "Hoja de ruta futura de Pale Moon". palemoon.org . Moonchild Productions. 23 de marzo de 2022 . Consultado el 2 de abril de 2018 .
  7. ^ Brinkmann, Martin (17 de noviembre de 2017). «El equipo de Pale Moon lanza la primera versión del navegador Basilisk». Ghacks Technology News . Consultado el 2 de abril de 2018 .
  8. ^ Página del proyecto Iceweasel-UXP Archivado el 29 de diciembre de 2021 en Wayback Machine .
  9. ^ Jorge O. Castro (15 de junio de 2004). «Ars Technica se reúne con Scott Collins de Mozilla.org». Ars Technica . Consultado el 28 de noviembre de 2018 .
  10. ^ ab Teller, David (20 de agosto de 2020). "¿Por qué Mozilla eliminó los complementos XUL?".
  11. ^ King, Brian (5 de febrero de 2003). "Desarrollo de aplicaciones remotas con Mozilla, parte 2: un estudio de caso del navegador Mozilla Amazon (MAB)". Oreillynet . Archivado desde el original el 18 de febrero de 2012. El navegador Mozilla Amazon es un estudio de caso interesante por varias razones. En primer lugar, es una aplicación prototipo funcional, no un ejemplo construido únicamente con el propósito de demostrar la tecnología. En segundo lugar, ejercita muchas áreas del soporte de Mozilla para el desarrollo remoto y, por lo tanto, muestra las capacidades, el potencial y las limitaciones de las aplicaciones XUL remotas. Por último, demuestra el soporte de Mozilla para los servicios web, una importante tecnología emergente para el desarrollo de aplicaciones web.
  12. ^ Grinstead, Brian (16 de diciembre de 2019). «Reemplazo de Firefox/XUL y XBL» . Consultado el 27 de septiembre de 2022 .
  13. ^ "Adaptarse a los cambios en Thunderbird 69-78". developer.thunderbird.net . 2022 . Consultado el 27 de septiembre de 2022 .
  14. ^ Straver, Markus (2 de noviembre de 2017). "UXP vs goanna" . Consultado el 27 de septiembre de 2022 . El plan es cambiar Pale Moon de nuestra plataforma actual a UXP (planes a largo plazo) porque una plataforma basada en XUL desarrollada y mantenida es la única forma en que una aplicación XUL (como Pale Moon) tiene alguna posibilidad de sobrevivir sin caer en la obsolescencia, con Mozilla abandonando esta tecnología. ¡Esa ha sido la razón principal por la que decidí empezar con esta plataforma! De todos modos, la plataforma no se desarrollará únicamente para el posible uso futuro de Pale Moon, se desarrolla para cualquier aplicación XUL futura que de lo contrario estaría muerta en el agua. Básicamente, estamos tomando el relevo de Mozilla en el desarrollo y mantenimiento de una plataforma para aplicaciones XUL de cualquier tipo; Mozilla no debería ser visto como "upstream" porque no lo es.
  15. ^ Tobin, Matt. «Solo existe XUL». Archivado desde el original el 17 de septiembre de 2018. Consultado el 18 de septiembre de 2018 .
  16. ^ "Preguntas frecuentes sobre Gecko | MDN". developer.mozilla.org . Archivado desde el original el 8 de octubre de 2019 . Consultado el 5 de enero de 2021 .
  17. ^ Castro, Jorge O. (15 de junio de 2004). «Ars Technica se reúne con Scott Collins de Mozilla.org». Ars Technica . p. 2. Archivado desde el original el 22 de febrero de 2018 . Consultado el 28 de noviembre de 2018 .
  18. ^ "Agradecimientos de XBL 2.0". www.w3.org .
  19. ^ "XBL 2.0". www.w3.org .
  20. ^ "El modelo de caja - Mozilla | MDN". 9 de diciembre de 2017. Archivado desde el original el 9 de diciembre de 2017 . Consultado el 5 de enero de 2021 .
  21. ^ abcd Frederick, Gail; Lal, Rajesh (15 de abril de 2010). Desarrollo web para teléfonos inteligentes: creación de aplicaciones basadas en JavaScript, CSS, HTML y Ajax para iPhone, Android, Palm Pre, BlackBerry, Windows Mobile y Nokia S60. Apress. p. 23. ISBN 978-1-4302-2621-5.
  22. ^ Garcia-Ventura, Agnes; Verderame, Lorenzo (1 de marzo de 2020). Recepciones del Antiguo Cercano Oriente en la cultura popular y más allá. Lockwood Press. pág. 109. ISBN 978-1-948488-25-9.
  23. ^ Quinlan, Erin (6 de junio de 2014). «'Ghostbusters' cumple 30 años: revisitando la sabiduría sobrenatural del cine». Hoy . Consultado el 25 de mayo de 2024 .
  24. ^ Holzner, Steven (2001). Dentro de XML. Nuevos jinetes. pag. 47.ISBN 978-0-7357-1020-7.
  25. ^ "Espacio de nombres XML de Mozilla". www.mozilla.org .