Programacion web

Chema Cortes pych3m4 en gmail.com
Mar Dic 6 05:30:41 CET 2005


El día 4/12/05, FERNANDO VILLARROEL escribió:
>
> Hola quisiera que me ayuden para evaluar la mejor
> alternativa disponible para programacion web
> utilizando Python; he escuchado hablar sobre psp,
> cherry y webware. No conosco otras alternativas, pero
> la idea es utilizar la misma estructura que sigue
> python y asi no tener tantos problemas en la etapa de
> aprendizaje, quizas programacion CGI venga bien.



No puedo especificar bine la respuesta ya que no sé qué entiendes por la
"estructura" que sigue python.

Si tuviese que nombrar algún entorno de programación web hecho para python
ése sería sin duda el zope. La versión 3 de esta plataforma es una de las
piezas de código python mejor escritas que puedes encontrar. Probablemente
no te sea fácil hacerte con esta plataforma si están empezando con python.

Los CGIs es una alternativa apta para cuando no tienes ninguna otra
solución. Requiere bastante conocimiento de los estándares para conseguir
que funcione a la perfección, por lo que no se suele usar independiente, más
bien como partte de algún otro entorno que facilite su uso.

El PSP (mod_python ó pyweb) es una forma de hacer en python lo que se hace
en PHP y ASP. Personalmente no me gusta esta forma de programación en la que
se mezcla código y diseño. Suele ser difícil de mantener y no hace claro el
reparto de tareas para trabajo en grupo. Lo recomendable es separar el
diseño en "plantillas", sobre las que actuará el código para generar la
página. Si te interesa, hay una metodología llamada MVC
(Modelo-Vista-Controlador) que sigue esta forma de crear aplicaciones web.

La mayoría de los entornos de programación python permiten el uso de
plantillas (PSP a través de "publicadores"). Pero para que sea más
independiente del entorno, hay sistemas de plantillas genéricos que se
pueden usar en cualquier de ellos. Se puede ver en ésto lo que zope ha
influido, ya que su sistema de plantillas ZPT ha sido imitado por el resto,
e incluso ha sido adaptado directamente.

No conozco mucho el resto de entornos (webware, twisted, quixote,...) como
para recomendarte uno sobre otro. 'django' está bastante de moda por verse
como la respuesta python a la popularidad de "Ruby on Rails". Por mucho que
se diga, aún le quedaría bastante para compararse con RoR. Uno del que sí
puedo contarte bastante es de CherryPy. Su documentación permite un
aprendizaje rápido, escalando desde una aplicación sencilla hasta llegar a
una completa aplicación web.

Mejor aún que usar CherryPy te recomendaría lanzarte a usar tubogears.
TurboGears es un "metaframework" reciente que integra varios sistemas
diferentes:

- SQLOject como modelador de datos
- CherryPy como "controlador"
- Kid como sistema de plantillas ("vista")
- Mochikit como librería javascript (aka: AJAX)

No tiene aún una completa documentación propia, pero el tutorial es bastate
sencillo de seguir, y todos los sistemas integrados tienen una excelente
documentación. En cuanto a la fiabilidad, se integran sistemas robustos y
bastante probados, siendo muy simple de actualizar a través de internet
gracias a los "python eggs" que emplea.

En fin, espero que te sirvan estos comentarios. Para una completa
información:
http://wiki.python.org/moin/WebProgramming




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