Tabla de contenido
Hoy traemos dos implementaciones curiosas de python. Hasta ahora habíamos visto python en el lado de servidor con tornado, flask o django pero nunca habíamos visto una implentación para sustituir a javascript.
Aunque a ese nivel Javascript está mucho mas avanzado ya que tiene muchos frameworks y librerías como Angular o JQuery, estas implementaciones son funcionales. Soportan hasta llamadas http Ajax.
La primera implementación es brython
Esta implementación se puede descargar desde https://github.com/brython-dev/brython/releases/tag/3.7.0rc1 Y se puede consultar el procedimiento de instalación en http://www.brython.info/static_doc/en/install.html en este enlace verás como realizar la instalación paso.
Algunos ejemplos de código curiosos son:
– http://www.brython.info/static_doc/en/ajax.html:
from browser import document, ajax
def on_complete(req):
if req.status==200 or req.status==0:
document["result"].html = req.text
else:
document["result"].html = "error "+req.text
req = ajax.ajax()
req.bind('complete',on_complete)
# send a POST request to the url
req.open('POST',url,True)
req.set_header('content-type','application/x-www-form-urlencoded')
# send data as a dictionary
req.send({'x':0, 'y':1})
-El segundo ejemplo es con la librería asyncio, que sirve para hacer llamadas asincronas.
import asyncio
@asyncio.coroutine
def test_wget(urls):
results = []
for u in urls:
req = yield asyncio.HTTPRequest(u)
results.append(req.response)
return results
t = asyncio.ensure_future(test_wget(['http://google.com','http://wikipedia.org']))
La información que se necesite puede sacarse de http://www.brython.info/static_doc/en/intro.html
La segunda implementación que traemos es PyJS
Esta aplicación tiene la documentación generada con javadoc. Toda la información de la API se puede encontrar en http://pyjs.org/api/ por lo que dentro se puede encontrar todas las soluciones a las necesidades que te surjan al usar este interprete de python.
Esta librería se puede descargar desde http://pyjs.org/Download.html y se puede usar tal y como pone en sus ejemplos de código en http://pyjs.org/examples/. Tal y como se dice en https://github.com/pyjs/pyjs/wiki/GettingStarted (Donde también se indica como empezar) PyJS es un «compilador» de python a javascript. Convierte el codigo generado en una aplicación Javascript funcional, tal y como lo hace typescript. Es bastante útil si lo que quieres es evitar programar en Javascript.
Estas 2 implentaciones curiosas de python solo se muestran a nivel de curiosidad, no recomendamos utilizar ninguno de los 2 tookit en producción. De recomendar uno de los dos, nos inclinaríamos por PyJS ya que al convertir su código a JS te evitas la capa de traducción cada vez que ejecutas la web.