Ejemplo de una aplicación con XULRunner

Introducción

XULRunner es entorno de ejecución para aplicaciones basandas en XUL, el proposito es el de poder crear aplicaciones como lo es Mozilla Firefox, Mozilla Thunderbird o ActiveState Komodo.

Funciona de una manera muy similar al JRE de Java y permite lo mismo, el desarrollar aplicaciones que sean portables y multiplataforma, lo mejor de todo es que no se necesita compilar y las aplicaciones se hacen utilizando ECMAScript, CSS, DOM y XML, así que un desarrollador web experimentado puede facilmente crear cosas interesantes, para elementos más avanzados se necesita utilizar C++ o el mismo Java.

Esta pequeña guía solo pretende presentar las bondades de XULRunner y una base para el desarrollo de aplicaciones complejas.

Toda la guía se basa sobre un equipo que tiene instalado Ubuntu Linux pero una persona experimentada puede facimente utilizar estos pasos para el entorno en que lo necesite (Mac OS, Windows, FreeBSD, etc)


Obtener y instalar XULRunner

La página de XULRunner es http://developer.mozilla.org/en/docs/XULRunner , y de aquí se debe descargar, una vez descargado hay que extraer los archivos y ponerlos en una carpeta, en mi caso lo voy a dejar todo en /opt/xulrunner

usuario@linux$> cd /opt
usuario@linux$> wget http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/X.X.X.X/linux-i686/en-US/xulrunner-X.X.X.X.en-US.linux-i686.tar.gz
usuario@linux$> tar -zxvf xulrunner-X.X.X.X.en-US.linux-i686.tar.gz
usuario@linux$> rm xulrunner-X.X.X.X.en-US.linux-i686.tar.gz

Con esto ya tenemos instalado XULRunner en /opt/xulrunner y ya se encuentra listo para utilizarse.


Arquitectura de la aplicación

Hay que crear las carpetas basicas de nuestra aplicación ejemplo, la cual vamos a nombrar "ventanasimple" en mi caso pienso guardar todo en una carpeta con el nombre de "dev_xul" dentro de mi carpeta home.

usuario@linux$> cd /home/usuario
usuario@linux$> mkdir dev_xul
usuario@linux$> cd dev_xul
usuario@linux$> mkdir ventanasimple
usuario@linux$> cd ventanasimple
usuario@linux$> mkdir chrome
usuario@linux$> mkdir chrome/content
usuario@linux$> mkdir chrome/content/ventanasimple
usuario@linux$> mkdir defaults
usuario@linux$> mkdir defaults/preferences

Nos debe quedar una arquitectura como la siguiente:

  • home
    • usuario
      • dev_xul
        • ventanasimple
          • chrome
            • content
              • ventanasimple
          • defaults
            • preferences
  • opt
    • xulrunner


Archivos basicos de la aplicacion

archivo: start.sh
ubicación: /home/usuario/dev_xul/ventanasimple
descripción: Este script es el que va a permitir ejecutar nuestra aplicación
------------------ INICIA CONTENIDO ------------------
#!/bin/sh
/opt/xulrunner/xulrunner application.ini
------------------ TERMINA CONTENIDO ------------------

archivo: application.ini
ubicación: /home/usuario/dev_xul/ventanasimple
descripción: Este es el archivo que se le pasa como parametro al XULRunner desde el archivo anterior, es con el que le especificamos que aplicacion es la que queremos ejecutar
------------------ INICIA CONTENIDO ------------------
[App]
Vendor=Ejemplos
Name=ventanasimple
Version=0.1
BuildID=20060128
Copyright=Copyright (c) 2006 Ejemplos
ID={506e456c-8dbf-4f1c-17b8-aff5bdd7592}

[Gecko]
MinVersion=1.8
MaxVersion=1.8
------------------ TERMINA CONTENIDO ------------------

archivo: prefs.js
ubicación: /home/usuario/dev_xul/ventanasimple/defaults/preferences
descripción: En este archivo especificamos cual es el archivo xul que tiene que mandar llamar por defecto
------------------ INICIA CONTENIDO ------------------
pref("toolkit.defaultChromeURI","chrome://ventanasimple/content/inicio.xul");
------------------ TERMINA CONTENIDO ------------------

archivo: chrome.manifest
ubicación: /home/usuario/dev_xul/ventanasimple/chrome
descripción: Con este manifiesto establecemos el URI donde debe buscar los archivos de nuestra aplicación dentro de la arquitectura de las aplicaciones XULRunner, que es igual en las extensiones para Mozilla, Mozilla Thuderbird o Mozilla Firefox
------------------ INICIA CONTENIDO ------------------
content ventanasimple file:content/ventanasimple/
------------------ TERMINA CONTENIDO ------------------

archivo: inicio.xul
ubicacion: /home/usuario/dev_xul/ventanasimple/chrome/content/ventanasimple
descripcion: Este es el archivo que se especifica en prefs.js, este es el archivo que se manda llamar en cuanto se ejecuta la aplicación, es aquí donde inicia nuestro programa y es en la misma ubicación en la que se encuentra este archivo donde debemos poner el resto de archivos de nuestra aplicación
------------------ INICIA CONTENIDO ------------------
<?xml version="1.0"?>
<?xml-stylesheet xhref="chrome://global/skin/" mce_href="chrome://global/skin/" type="text/css"?>
<window style="background-color:white;" id="win-ventanasimple" title="Ventana Simple" orient="horizontal" xmlns=" http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<label value="Este es un ejemplo de una ventana simple"/>
</window>
------------------ TERMINA CONTENIDO ------------------


Ejecución de nuestra aplicación ejemplo

Por último solo nos queda ejecutar nuestra aplicación, para ello hay que verificar que tenga permisos de ejecución el script " start.sh"

usuario@linux$> chmod 755 /home/usuario/dev_xul/ventanasimple/start.sh
usuario@linux$> /home/usuario/dev_xul/ventanasimple/start.sh

Interesante. ¿No lo creen?


Referencias

http://developer.mozilla.org/en/docs/XULRunner
http://www.dahnielson.com/2006/01/something-to-do-on-a-sunday-afternoon.html/3/
http://wiki.mozilla.org/XUL:Xul_Runner
http://developer.mozilla.org/en/docs/XULRunner:Deploying_XULRunner_1.8
http://developer.mozilla.org/en/docs/XULRunner:Specifying_Startup_Chrome_Window
http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx
http://developer.mozilla.org/en/docs/Debugging_a_XULRunner_Application
http://exch.mozdev.org/
http://friedfish.homeip.net/~darinf/xulrunner/mybrowser.html
http://xullicious.blogspot.com/2005/06/xul-music.html
http://developer.mozilla.org/en/docs/XUL

6 comentarios:

Anónimo dijo...

Muy buen articulo, me solucionó un problema, solo me queda decir que para usuarios windows solo hay que pasarle al xulrunner el parametro application.ini es decir:
c:\>xulrunner c:\ventanasimple\application.ini y pulsar la tecla Enter para que se ejecute.

Hasta luego...

pmchacin@cantv.net

Anónimo dijo...

es una muy buena idea para reemplazar los hta de microsoft, pero ie viene instalado en todos los windows del mundo y la descarga del xulrunner són 13mb

Anónimo dijo...

Excelente articulo viejo.. siempre me alegra encontrar articulos en espanol bien trabajados. Este el caso, Muchas Gracias.

Rodrigo (desde paraguay).

Anónimo dijo...

Mil Gracias. Desde hace un tiempo estoy desarrollando aplicaciones complejas en hta, pero el inconveniente con esto es que funciona solo para un sistema operativo. Voy a comenzar a investigar XULRunner para que algunas de las aplicaciones desarrolladas se ejecuten en otra plataforma, si resulta seria fantastico. Nuevamente Muuchisimas gracias por tu aporte.

ojpe2k@gmail.com

Enrique Parra dijo...

Extraordinario era lo que necesitaba, espero que alguien de buena fe como tu, nos indique el procedimiento con win

Ray Rojas dijo...

Hola. no se si seguiras respondiendo preguntas pero. Cuando ejecute al final /home/usuario/dev_xul/ventanasimple/start.sh
Me sale este error:
/opt/xulrunner/xulrunner-bin: 6: Syntax error: ")" unexpected

Publicar un comentario