[Python-es] Compilar a javascript (pyjs/pyjaco)

Chema Cortes pych3m4 en gmail.com
Vie Oct 19 20:08:11 CEST 2012


El día 18 de octubre de 2012 19:43, Kiko <kikocorreoso en gmail.com> escribió:

> Una pregunta desde el total desconocimiento y la más completa ignorancia,...
> ¿Por qué dart, typescript, coffeescript, con sintaxis parecida a python o
> ruby? Con empresas tan grandes detrás, ¿no sería más fácil 'reescribir' un
> javascript más bonito o usar un lenguaje más mainstream (python, por ejemplo
> :-P) para crear un compilador a javascript en lugar de hacer la guerra cada
> uno por su cuenta?

Hasta ahora la lógica de la aplicación iba en el servidor al que se
conectaba el cliente javascript, que no era más que un interface que
enviaba y traía cosas. Con el tiempo, la parte cliente empieza a tener
más peso en la aplicación web, controlando la presentación e
integración de datos. Incluso ya hay aplicaciones "offline" completas
que solo usan internet si está disponible (eg: gmail offline)

Con todo, el javascript es horrible para crear grandes ficheros de
código. Con estos lenguajes específicos (dart, typescript,
coffeescript) se busca mejorar la productividad aproximando la
generación de código javascript al lenguaje usado en la programación
de páginas webs. Lo de crear javascript a partir de python era
precisamente mi pregunta desde el principio :D


> P.D.: Por otro lado, también existe esto: http://www.skulpt.org/ (python
> 'metido' en js).

Lo interesante de usar javascript es poder manipular el DOM del
documento HTML y controlar eventos. Ejecutar python en javascript por
sí sólo sirve para hacerlo todo más pesado. También hay que tener en
cuenta que todos estos intérpretes hechos en javascript limitan el
código python que se puede usar y que no suelen permitir importar
cualquier módulo python.


Voy a añadir una lista de compiladores de python a javascript:

 pyjs:
    http://pyjs.org
    https://github.com/pyjs/

 pyjaco:
    http://pyjaco.org

 pycow (parece abandonado):
    https://github.com/p2k/PyCow

También he encontrado un par de lenguaje similares a python que
compilan a javascript:

 pyvascript:
    http://www.allbuttonspressed.com/projects/pyvascript

 rapyscriprt (aka pyvascript++):
    https://bitbucket.org/pyjeon/rapydscript


Creo que entre todos éstos voy a darle una oportunidad a rapyscript.
Espero contar lo que descubra por mi blog.


-- 
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales


Más información sobre la lista de distribución Python-es