[pyar] Python web | Tips

Juan A. Diaz juan en linux.org.ar
Vie Ene 21 14:27:02 ART 2011


On Sat, 2011-01-15 at 17:13 -0300, Martin Cerdeira wrote:
> Hola gente. Les cuento, siempre que programé en python lo hice para
> scripts rápidos o aplicaciones de escritorio pero, nunca para la web.
> Quería empezar a usar un poco de python en reemplazo de PHP.
> Mi consulta es sencilla: Aquellos que hayan pasado por python en web, qué
> tips o qué me recomiendan que lea? (aparte de lo que ya empecé a
> leer[0])
> 
> La idea, como les decía, es usar python en vez de php con apache y
> mysql, no estoy interesado (por ahora) en usar frameworks tipo Django
> o web2pyt, etc.
> 
> Gracias
> 
> [0] http://docs.python.org/howto/webservers.html

Martin,

Yo comence a trabajar con python y la web de la mano de un CMS
(semi-framework, Plone) montado sobre otro framework (Zope2) y la
mayoría de los problemas a los que te enfrentas en ese entorno son a los
relacionados con el uso de las herramientas del framework y su
utilización para generara tu aplicación o solución. Cuando trabajas con
estos frameworks ves las cosas desde un nivel mucho más alto, y no tan
dependiente del request, como cuando trabajas en php.

El año pasado en el trabajo, y luego de rantear mucho contra Plone,
comenzamos a hacer  un light CMS directamente con Werkzeug[1] cuyo
nombre clave era foobar, para poder programar del modo que queríamos y
implementar las funcionalidades que considerábamos básicas tuvimos que
implementar muchas de las cosas que el framework con el que trabajamos
habitualmente ya nos brindaba, ej: ruteo de url, integración con un ORM,
sistema de templates, y no me acuerdo cuantas otras más. Hasta que nos
dimos cuenta que casi estamos implementando un framework en lugar de un
CMS, por lo que el proyecto cambio y comenzamos a hacer un framework
llamaado foo y un cms basado en ese framework llamado bar. En un momento
nos planteamos donde estabamos parados y vimos que si bien era muy
divertido, teníamos que implementar muchísimas cosas y no todos querían
implementar el framework, por lo que nos pasamos a Pylons[2] un
light-framework WSGI que no simpatizaba bastante y similar a lo que
queríamos realizar con foo.  Ahí en ves de escribir el framework tuvimos
que comenzar a seleccionar componentes que sistema de template, que ORM,
que sistema de autenticación, el modo en el que hacer el traverse de
urls, etc. Ahí comenzamos con el CMS propiamente dicho y nos enfrentamos
a cosas de un nivel intermedio, generación automática de formularios y
validaciones, tipos de contenido, etc. En ese punto yo me negue a
continuar a menos que reemplazáramos todo el stack de antes seleccionado
en favor de TurboGears2[3], un framework basado en pylons que ya
implementaba (conectaba desde un punto de vista arquitectónico) todos
los componentes que necesitábamos para realizar el CMS (que ha este
momento ya había cambiado de nombre varias veces), como no pude
convencerlos de mi posición, abandone el proyecto. Algunas semanas más
tarde mis compañeros comenzaron a considerar seriamente el uso de
TurboGears2, pero a ese punto teníamos que comenzar a trabajar de verdad
y el proyecto quedo en el cementerio de nuestras killer applications :D.

La verdad que el proyecto siempre fue para divertirnos un poco y de paso
intentar conquistar la fama. Nos divertimos mucho pero de fama, muy
poco, lo que si conseguimos fue aprender muchísimo, acercamos a nuevas
tecnologías, y comenzamos a comprender desde la distancia muchas
decisiones de diseño de Plone como CMS y de Zope como framework.

Como conclusión te diría que si queres aprender juegues un rato. Desde
esa perspectiva me parece muy valida tu intención de querer empezar
desde abajo y luego ir cambiando de juguetes. Ahora si queres aprender
mientras implementas algo para un cliente te diría que uses un framework
y le hagas la vida fácil al que viene después que vos o incluso a vos
mismo dentro de algunos meses. 

Saludos y espero que te sea útil mi experiencia, yo hoy me voy a jugar
con Grok[4] y cito una frase de su web "Grok is informed by a lot of
hard-earned wisdom."

[1] http://werkzeug.pocoo.org/
[2] http://pylonshq.com/
[3] http://turbogears.org/2.0/
[4] http://grok.zope.org/ 

nueces...




More information about the pyar mailing list