Web Frameworks

lasizoillo lasizoillo en gmail.com
Mar Ago 12 17:31:12 CEST 2008


Buenas:

La respuesta viene un poco tarde, cosas de las vacaciones :-)

El día 1 de agosto de 2008 2:26, Chema Cortes <py en ch3m4.org> escribió:
> El Thursday 31 July 2008 22:09:37 Mario Lacunza escribió:
¡
> Uno de los frameworks del que no se ha hablado nada es del twisted. Con
> sus "reactores" es igualmente posible acceder a la aplicación desde diversas
> GUIs (wx, web, etc). Tiene características únicas para, por ejemplo,
> sincronizar aplicaciones clientes dentro de una intranet (por ejemplo, chats
> en tiempo real).
>

Twisted creo que es impresionante por un lado, pero algo a evitar por otro.

El modelo de eventos tiene sus pros y sus contras frente al modelo de
hilos o procesos:
- La multitarea es cooperativa. Por lo que si haces algo que colabora
bien todo funciona de mil maravillas y sin el overhead de los hilos o
los procesos. Pero un fallo tonto puede afectar a toda la plataforma.
- Para ser cooperativo hay que evitar ser bloqueante. Twisted no te
resuelve esto en el acceso a sistema de ficheros (malo para la mayoria
de desarrollos web bajo mi punto de vista).
- La implementacion de WSGI funciona con hilos. ¿Dónde queda la
ventaja de los eventos?
- Muchos de los drivers de acceso a base de datos s1on sincronos
(bloqueantes). La solución para convetirlos en asincronos es otra vez
(como con el WSGI) el usar hilos. Un memory leak en un driver de base
de datos que esta vivo por siempre duele más con twisted, que en un
proceso de mod_wsgi que puedes reiniciar cada X conexiones. (se pueden
tener varias instancias de twisted detras de un balanceador que deje
de usar las que se mueren con un demonio que las reinicie, pero ya no
es tan comodo como con otros frameworks)
- Twisted tiene un monton de librerias para un monton de protocolos,
por lo que es realmente genial para hacer aplicaciones multiprotocolo.
Unos foros que funcionan por http y nntp. Un chat web y por jabber.
Una agenda de contactos administrada por web que te permite ver los
contactos por LDAP directamente desde Thunderbird. ... Y esto sin
tener zonas de memoria compartida o andar poniendo mutex para
sincronizar variables.

Se podría hablar mucho sobre twisted. Pero creo que en un hilo sobre
frameworks web no se le trataría con justicia; a no ser que vaya a ser
una aplicación muy web 2.0 conectada con jabber, notificaciones de
correo para medio millon de cosas, que va a tener 10000 conexiones
persistentes para hacer Comet, ... En ese caso, usaría twisted casi
seguro.

En fin, que twisted es molon. Pero con pylons tengo las cosas web
funcionando antes y sin preocuparme de si una pieza de codigo es
bloqueante o no.

Un saludo:

Javi
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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