lunes, 26 de julio de 2010

Probando Tornado Web Framework

Desde hace algunos días me encuentro probando el framework y servidor Tornado que esta desarrollado en python y forma parte del corazón de FriendFeed. En las pequeñas pruebas que he realizado, me he llevado gratas sorpresas, como el soporte para Single Sign On en Google Apps.

Además de las pruebas realizadas, el blog de Juan J. Martínez que sigo desde hace tiempo, acaba de ser portado de Apache + PHP a cherokee + Tornado con muy buenos resultados.

Por último, me gustaría comentarles que este excelente framework acaba de lanzar su versión 1.0 con importantes mejoras el día 22 de julio.

Algunas de las novedades anunciadas son las siguientes:

New features:
* Improved support for running other WSGI applications in a Tornado
server (tested with Django and CherryPy)
* Improved performance on Mac OS X and BSD (kqueue-based IOLoop), and
experimental support for win32
* Rewritten AsyncHTTPClient available as
tornado.httpclient.
AsyncHTTPClient2 (this will become the default in a
future release)
* Support for standard .mo files in addition to .csv in the locale module
* Pre-forking support for running multiple Tornado processes at once
(see HTTPServer.start())
* SSL and gzip support in HTTPServer
* reverse_url() function refers to urls from the Application config by
name from templates and RequestHandlers
* RequestHandler.on_connection_close() callback is called when the
client has closed the connection (subject to limitations of the
underlying network stack, any proxies, etc)
* Static files can now be served somewhere other than /static/ via the
static_url_prefix application setting
* URL regexes can now use named groups ("(?P)") to pass
arguments to get()/post() via keyword instead of position
* HTTP header dictionary-like objects now support multiple values for
the same header via the get_all() and add() methods.
* Several new options in the httpclient module, including
prepare_curl_callback and header_callback
* Improved logging configuration in tornado.options.
* UIModule.html_body() can be used to return html to be inserted at
the end of the document body.

Backwards-incompatible changes:
* RequestHandler.get_error_html() now receives the exception object as
a keyword argument if the error was caused by an uncaught exception.
* Secure cookies are now more secure, but incompatible with cookies
set by Tornado 0.2.  To read cookies set by older versions of Tornado,
pass include_name=False to RequestHandler.get_secure_cookie()
* Parameters passed to RequestHandler.get/post() by extraction from
the path now have %-escapes decoded, for consistency with the
processing that was already done with other query parameters.
 
Así que los invito a que ustedes también prueben este excelente framework y comenten que les ha parecido. En lo personal, aunque no he visto mucha documentación en su web, me ha gustado mucho, ustedes, que opinan???
Publicar un comentario en la entrada