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 capituloRealmente 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/