Dec 3, 2006

XUL(XML-based User-interface Language)

Pues esto es lo nuevo(para mi :) es el lenguaje de marcado con el que esta hecho Mozilla Firefox(y Iceweasel), Thunderbird(y Icedove... estos Debianeros!!), también ActiveState Komodo IDE entre otros algo parecido a glade pero orientado a web(pues adiós AJAX con esto se resuelve el problema).

Ejemplo rápido:

Crear un archivo con el nombre ejemplo.xul con lo siguiente:


<?xml version="1.0" ?>
<?xml-stylesheet href="" type="text/css"?>
<window id="window identifier" title="XUL page" orient="horizontal"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<button label="Hola, Mundo"/>
</window>

Y lo corres con firefox->Archivo->Abrir archivo... o con Iceweasel(Como yo en este momento), y veras un botón que dice "Hola, Mundo!" con el estilo de los widgets de Mozilla

Otra opción es hacer tu programa como una aplicación de escritorio usando xulrunner desgraciadamente no hay mucha documentación acerca de xulrunner por lo tanto que... hice un script python para resolverme el problema el cual les dejo por aqui:

[xulinitpro.py o xulinitpro.py(si ya lo quitaron de dpaste:(]

Ejecutarlo de la siguiente manera: xulrunner app_name/application.ini

Y ahora viene lo bueno... integrarlo en Django primero descubrir como renderizar en xml me tomo mucho tiempo y buscar documentación fue muy complicado pero al final lo conseguí, poner en una view:

from django.template import Context, loader
from django.http import HttpResponse
...
def loquesea(request):
...
template = loader.get_template('blog/summary.xul')
response = HttpResponse(template.render(dict(entries=entries, categories=categories)), \
mimetype='text/xml; charset=utf-8')
return response

Es la manera mas sencilla que encontré gracias a Google Code Search y un error de Django en Feedjack ahora si me voy a leer un tutorial de XUL y continuar con el framework que no me ha decepcionado Django y su libro el cual ya voy por el 4to capitulo

Realmente XUL me llama mucha la atención significa el fin de AJAX y las aplicaciones web como las conocemos?... además de ofrecer dos tipos de portabilidad... SO(o arquitectura porque es mozilla) y Web/Desktop.

mas info:

http://www.mozdev.org/

0 comments:

disclaimer



Things written in this blog are my personal thoughts or points of view, and do not represent at all the position of my employer.

Code in the website is licensed under The MIT License

Content of this blog is:
Creative Commons License
Licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.