Comentarios sobre web frameworks (Re: [Python-es] Se me está haciendo gordo este código.)

Chema Cortes py en ls-l.org
Jue Sep 22 10:46:18 CEST 2005


Gari Araolaza escribió:
> Ya sé que es un poco temprano para preguntar por Turbogears (se ha
> publicado hace 4 o 5 días) pero:
> 
> El tema se está liando un poco con tanto entorno de desarrollo web. Las
> alternativas que estoy viendo son:
> 
> - Ruby on Rails
> - Django
> - Turbogears
> 
> y en menor medida pero con mucho peso de los años que lleva:
> 
> - Zope + productos diversos... (leí algo de CPS con Ajax etc.)
> 
> Qué información comparativa conocéis?

Creo que no hay mucho. Se puede encontrar comparaciones entre RoR y
Django, pero se resume en que RoR tiene una buena implementación de AJAX
con una librería de widgets para diseñar la página web, y en que django
tiene un mejor modelador de datos que facilita mucho el mantenimiento
posterior. A parte de ésto, el resto es entrar en aguas cenagos sobre la
comparación de python y ruby. Algo por lo que destacaría a RoR es por un
libro de Pragmatic Programmers llamado "Agile Web Development with
Rails", un excelente libro que por sí solo hace mucho más recomendable
Rails.

Turbogears y Subway (éste no lo has mencionado) son dos "integradores",
también llamados "megaframeworks", que aprovechan la modularidad de
cherrypy, que lleva ya bastantes años. Cherrypy2 sigue la norma SWGI,
que simplifica la portabilidad de aplicación entre diversos servidores
web ó incluso que funcione como una aplicación independiente.

Con cherrypy2 se pueden usar distintos sistemas de plantillas (kid,
cheetah, quixote, ZPT, XSLT, etc), y eso ayuda a la portabilidad. Hay
otros frameworks que usan estos sistemas de plantillas (webware,
twisted,...), pero no los conozco suficiente.

Algo bueno de Turbogears es que utiliza la librería Mochikit (de
pronunciación japonesa "Muchi"), una librería javascript pensada para
programadores python. Con esta librería se puede dar interactividad a la
página web, aunque no es exactamente AJAX.

Del resto de frameworks (webware, twisted,...) no conozco cómo llevan el
tema del AJAX. En concreto twisted ofrece "reactores" para interactuar
con interfaces gráficos.


Por último, mencionar Zope. Es difícil compararlo con el resto. Se
podría decir que es parecido y, a la vez, es otra cosa diferente. Se
puede emplear el sistema de plantillas propio, ZPT, que sirve tanto para
crear páginas html como xml. Zope, además de servir páginas web, también
ofrece servicios web (xmlrpc), que es lo que se puede emplear para el
AJAX. No conozco mucho el tema, pero por aquí está Santi Camps que puede
hablar algo sobre ADF.


Supongo que me he dejado muchas cosas. Esto sería una de las cosas que
estaría bien colocar en un wiki para que se fuera ampliando con más
comentarios.




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