Xul parte 1: Introduccion

Como les comente estoy trabajando en un par de proyectos que juntos harán uno solo, estos proyectos serán aplicaciones que estarán construidas sobre xul, js css y quizas algo de python.

Por ello he empezado a leer y a hacer pruebas con xul, y para que no digan lo estoy haciendo en mi Debian Etch y mis primeros ejemplos funcionan de maravilla, sin embargo muchos diran y bueno que es xul, por ello he decidido postear este tema extraido de Tutorial de XUL:Introducción.

Esta es solo la introduccion aburrida a los pormenores y todo lo que podemos hacer con Xul, pues empecemos.

Este tutorial lo conducirá al aprendizaje de XUL (XML Lenguaje de Interfaz de Usuario) el cual es un lenguaje múltiplataforma para describir la interfaz de usuario de aplicaciones.

¿Qué es XUL y porque fue creado?

XUL (se pronuncia “sul”? y rima con “cool”?) fue creado para facilitar y acelerar el desarrollo del navegador Mozilla. Es un lenguaje XML, por lo tanto todas las características del XML están también en XUL.

La mayoría de las aplicaciones necesitan ser desarrolladas usando características de una plataforma específica, convirtiendo el desarrollo de aplicaciones múltiplataformas en una tarea costosa y que consume mucho tiempo. Esto podrá no importarle a algunas personas, pero el usuario podría querer usar la aplicación en otros dispositivos, como equipos de bolsillo.

En el pasado se desarrollaron muchas soluciones multiplataforma. Por ejemplo, Java tiene como un punto fuerte de venta la soportabilidad. XUL es un lenguaje diseñado específicamente para construir interfaces soportables.

Desarrollar una aplicación toma mucho tiempo incluso si es sólo para una plataforma. El tiempo requerido para compilar y depurar también puede ser muy largo. Con XUL, una interfaz puede ser implementada y modificada de forma fácil y rápida.

XUL tiene todas las ventajas de otros lenguajes XML. Por ejemplo, XHTML u otros lenguajes XML como MathML o SVG se pueden usar junto a él. Además, el texto que se muestra con XUL es fácilmente localizable, lo que significa que puede ser traducido a otros idiomas con poco esfuerzo. Se pueden aplicar hojas de estilo para modificar la apariencia de la interfaz de usuario (muy parecido a las funcionalidades de aspectos o temas presentes en Winamp o algunos gestores de ventanas).


¿Que tipo de interfaz se puede hacer con XUL?

XUL proporciona la habilidad de crear la mayoría de los elementos encontrados en las interfaces gráficas modernas. Es tan general que este puede ser aplicado a las necesidades específicas de ciertos dispositivos y tan poderoso que los desarrolladores pueden crear sofisticadas interfaces con éste.

Algunos elementos que pueden ser creados son:

  • Controles de entrada tales como cuadros de texto y cajas de chequeo
  • Barra de herramientas con botones u otros contenidos
  • Menús en barras de menú o menú emergente
  • Pestañas de diálogo
  • Árbol de información jerárquica o tabulada
  • Teclas de accesos directo

El contenido mostrado puede ser creado desde el contenido de un archivo XUL o con datos de una fuente de datos. En Mozilla, tales fuentes de datos son utilizadas para los mensajes de una cuenta de correo, los marca-páginas y los resultados de búsqueda. El contenido de los menúes, árboles y otros elementos pueden ser llenados con estos datos, o con sus propios datos suministrados en un archivo RDF.

Existen varios casos en los cuales aplicaciones XUL son creadas:

  • Extensión de Firefox: una extensión suma funcionalidades al navegador mismo, a menudo barra de herramientas suplementaria, menúes contextuales o una interfaz de personalización del navegador. Para conseguir eso una funcionalidad XUL llamada overlay es usada. Permite hacer fusionar una interfaz existente como el navegador Firefox con una interfaz de usuario de la extensión. Unas extensiones pueden igualmente ser aplicadas a otros productos de Mozilla tal como Thunderbird.
  • Aplicación XULRunner autónoma: XULRunner es una versión empaquetada de una plataforma Mozilla permitiendo crear aplicaciones XUL autónomas. No se necesita ningún navegador para arrancar éstas aplicaciones ya que contienen sus propios archivos ejecutables.
  • Paquete de XUL: a medio camino entre las dos otras se encuentran aplicaciones creadas de la misma manera que una extensión pero funcionando como una aplicación independiente en una ventana separada. Estos paquetes se emplean cuando no se desea una imponente aplicación completa XULRunner pero tampoco implica la instalación de un navegador Mozilla.
  • Aplicación XUL remota: se puede también colocar solamente código XUL en un servidor web y abrirlo con un navegador, como cualquier página web. Sin embargo este método es limitado, por razones de seguridad sobre que acciones se permiten, como la apertura de otras ventanas.

Los tres primeros tipos necesitan cada uno su instalación en la máquina del usuario. Por lo cual, estos tipos de aplicaciones no tienen restricciones de seguridad, pueden acceder a los archivos locales y leer y escribir las preferencias, por ejemplo. El contenido XUL es normalmente cargado desde un paquete instalado dentro de Mozilla. Los archivos XUL, “scripts” asociados e imágenes de una aplicación podrán ser empaquetados dentro de un simple archivo, descargados e instalados por el usuario. Mozilla proporciona una manera de tener estos paquetes instalados y registrados sin tener que escribir un montón de códigos complejos. Además, estos paquetes pueden incorporarse al navegador u otras aplicaciones para adicionarles características; esta es la forma en que trabajan las extensiones de Firefox.

También es posible abrir directamente archivos XUL desde el sistema de archivos o desde un sitio web remoto, sin embargo ellos estarán restringidos en el tipo de operaciones que puedan hacer, y algunas características de XUL no trabajarán. En cambio, si Ud. quiere cargar el contenido XUL desde un sitio remoto, el servidor web debe estar configurado para enviar archivos XUL con contenidos de tipo ‘application/vnd.mozilla.xul+xml’. El XUL es usualmente almacenado en archivos con una extensión .xul. Ud. puede abrir un archivo XUL con Mozilla tal como abre otros archivos, usando el comando Abrir Archivo desde el menú de Archivo o escribiendo la URL en la barra de dirección.

¿Que necesita conocer para utilizar este tutorial?

Debe tener conocimentos de HTML y por lo menos, conocimientos básicos de XML y CSS. Aquí se exponen algunas reglas que debe tener en mente:

  • Los elementos en XUL y sus atributos deben introducirse en minúsculas, ya que XML distingue entre mayúsculas/minúsculas (a diferencia de HTML).
  • Los valores de los atributos en XUL, deben colocarse entre comillas, aunque sean números.
  • Los archivos XUL por lo general se dividen en cuatro ficheros, uno para la disposición de los elementos, otro para la definición del estilo, otro para declarar las entidades (usadas en las localizaciones) y otro para los “script”. Además se pueden tener archivos para las imágenes o para datos específicos de una plataforma.

XUL está soportado en Mozilla y otros navegadores basados en el motor Gecko, tales como Netscape 6 o posteriores y Mozilla Firefox. Debido a los diversos cambios que ha tenido la sintaxis de XUL en el tiempo, tener la última versión de su navegador permitirá que los ejemplos trabajen adecuadamente. La mayoría de los ejemplos deben funcionar en Mozilla 1.0 o posteriores. XUL es bastante similar en Firefox y los otros navegadores, aunque tiene algunas diferencias específicas como el soporte de barras de herramientas personalizables.

Este tutorial intenta cubrir gran parte de la funcionalidad de XUL, no obstante, no trata todas las características. Una vez se haya familiarizado con el lenguaje XUL puede utilizar la referencia de elementos del lenguaje XUL (en) para encontrar otras características soportadas por elementos específicos del lenguaje.

Related posts:

  1. Xul parte 2: Estructura XUL Ahora veremos como se procesara xul por parte de Mozilla...
  2. Uso de Apt: Introduccion Hay mucha informacion en internet pero no siempre esta a...
  3. [Noticia] FireBug, Ya es parte de Mozilla Leyendo los blogs de Andrés Nieto y de  John Resig,...
  4. Modrewrite Parte 1 Recientemente tuve problemas con los permalinks, el modrewrite y el...
  5. [Manual] Usando PHP y MySQL,para manejar una base de datos parte 1 Varios lectores me han pedido que si no hacia un...

Related posts brought to you by Yet Another Related Posts Plugin.

7 Responses

09.22.2007

XUL no es standar y en vista de que solo funciona sobre Mozilla…. La idea es genial y se parece a XAML (este es para windows).
Solo hay un pequeño detalle, dice que usa JS para la parte logica, pero para mi (el comentario es mi punto de vista) JS no es como tal un lenguaje de programacion, ¿por que?
Es muuuuy permisivo (Me recuerda a Visual Basic)
Le falta alcance (La Prog Orientada a Objetos parece broma)
Aun no hay un standar (Preguntenmelo a mi, esos errores en IExplorer)
Por otra parte la idea es muy buena, usar XML para definir las GUI´s y que el codigo se genere segun el lenguaje que elijamos es genial. Pero en vez de JS me inclinaria por Python.
Sin mas, esperamos ver pronto algunos demos.

09.23.2007

Tienes razón no es standar, pero eso de solo funciona en Mozilla es erroneo, por que Xul trabaja sobre un motor Xulrunner, el cual esta disponible para Windows, Mac y Linux.

Inclusive, yo hice primeras pruebas en GNU/Linux debian Etch, y para portarlo a Windows, los cambios son mínimos, digamos que es algo a parecido a la maquina virtual de Java.

Y para que cheques que es bueno bajate el, songbird un reproductor de audio, ese esta desarrollado con xul, además de Thunderbird y pues obviamente el Firefox.

Yo uso el songbird en windows, y en linux,y a pesar de que no es siquiera una versión Beta, funciona de maravilla.

En un post posterior veremos algo de programación en xul.

Una cosa mas, si no mal recuerdo Brendan Eich, esta trabajando para que el lenguaje usado, no solo sea JS si no efectivamente sea Python.

Se que le falta a XUL, pero intentare programar algo realmente serio a ver que tal me va.

09.23.2007

Chabs a lo que me refiero es que al ser una aplicacion de navegador solo funciona con productos de Mozilla sean en MAc Linux o Windows
NOTA: Mozilla no es un Sistema Operativo
NOTA 2: Te hecharas el proyecto tu solo? sabes que en lo que podamos de ayudamos xDDD
NOTA 3: Alabado sea el Sr. JS es una belleza pero no es un Leng de Prog serie, en vez de Python deberian usar la sintaxis de Action Script es muy parecida a JS y con la seriedad de un casi Java

09.23.2007

O con XULrunner, en lo del proyecto luego lo platicamos, digamos que de usar python, seria como embebido, dentro de Xul,

NOTA: Una aplicacion con Xul corre sobre Xulrunner y no necesita a firefox o a Mozilla, a xulrunne te lo púedes conseguir para MAc Linux o Windows, algo asi como la maquina virtual de JAVA.

[...] metido creando aplicaciones XUL (pra una descripcion de lo que es XUL y esas yerbas, los remito al articulo de Ajaxman), al parecer este framework Java, nos permite crear aplicaciones Ajax y widgets con XUL, [...]

03.11.2008

No hay que cerrarse tanto, xul es compatible con php, una buena combinación es xul + php + ajax. Por cierto xul tiene una especificación en el w3c y tiene mucha más potencia que html, si no es un estándar es porque no hay corporaciones atrás de él, pero es mucho más rápido el desarrollo en php + xul que java, o incluso php + html, por lo dinámicos que son por sí solos los elementos xul, al grado de no necesitar ajax.

03.11.2008

Muy cierto @maharba, no he tenido mucho tiempo, pero sin embargo Xul es importantismo salduos ya gracias por tu visita.

Luego habra mas de XUL.

Comentar

* Name, Email, Comment are Required

Mis Tweets Ajaxman


Categorias

Historico de entradas publicadas