FoxPress – Marzo 2006

 

Python en FireFox

 

 

                                        Por Sebastián Lizica

 

 

 Hace unos meses circuló la noticia de que Guido van Rossum fundador de Python había sido
contratado por Google para integrar Python en FireFox. Desde hace tiempo, otro pro-hombre de Python, 
Mark Hammond, está también trabajando en los mismo, de hecho ya  ha incorporado al cvs de Firefox el 
DOM_AGNOSTIC2_BRANCH que refleja su trabajo en el proceso de integración. Lo básico ya funcionaba 
(como referencia esta la IDE Komodo de Activestate), y desde hace relativamente poco ya se puede utilizar 
Python como remplazo de JavaScript (que me parece, al menos en mi caso, lo mas interesante). Decian 
que entre enero y febrero estaria incorporado en el branch 'oficial'. Y para el Mozilla 1.9 (Firefox 1.6) o el 
siguiente (no lo recuerdo), ya estará en las distribuciones binarias estables (no incluyendo la distribucion de 
Python, para que la instale el que la quiera).
 
 
    Si compilas Firefox desde ese branch con solo el soporte de Python a xpcom (para hacer la primer 
compilación con algo seguro que no de error) y los tests que pude hacer funcionaron correctamente:
 
 
Un ejemplo sobre Python dentro de .XUL:
-------------------------------
<?xml version="1.0"?>
<window 
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
id="main-window">
<script type="application/x-python"><![CDATA[
import xpcom
class HelloWorld:
    def __init__(self,message="Hello World"):
        self._promptService = 
xpcom.components.classes["@mozilla.org/embedcomp/prompt-service;1"]
                     
.getService(xpcom.components.interfaces.nsIPromptService)
        self.message=message
    def show(self):
        self._promptService.alert(this.window,"title", self.message);
helloWorld=HelloWorld()
helloWorld.show()
]]></script>
</window>
--------------------------------
 
 

 

 

FoxPress – Marzo de 2006