Discussion:
Web Frameworks
(too old to reply)
unknown
2008-07-29 02:40:04 UTC
Permalink
Hola,

Tengo una aplicacion de escritorio para gestion comercial (inventarios,
caja, ventas, compras, etc) desarrollada en Python la cual requiere
trasladar algunas funcionalidades al ambiente web, he estado investigando
los webframeworks hechos en Python disponibles, pero no llego a ver claro
cual podria ser el mejor para lo que necesito, por lo cual requiero sus
impresiones.

Gracias,
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-29 03:15:14 UTC
Permalink
Hola a todos:
He estado probando algunos algoritmos en Linux y en Windows con la función
time.clock(). Por ejemplo:

t0 = time.clock()
(algoritmo)
t1 = time.clock()
print t1-t0

Sucede que en Windows me da resultados “lógicos” pero en Linux (Ubuntu 8.04)
siempre me imprime 0.00000000000000 (y créanme que lo que pruebo no toma
menos de 3 segundos nunca como mejor valor). Me pudieran ayudar?. (esta
forma de bechmarking la he visto en muchos libros).
Gracias a todos.

Sandor.

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-29 07:21:28 UTC
Permalink
Post by unknown
t0 = time.clock()
(algoritmo)
t1 = time.clock()
print t1-t0
Sucede que en Windows me da resultados "lógicos" pero en Linux (Ubuntu 8.04)
siempre me imprime 0.00000000000000 (y créanme que lo que pruebo no toma
menos de 3 segundos nunca como mejor valor). Me pudieran ayudar?. (esta
forma de bechmarking la he visto en muchos libros).
Si miras la documentacion de time.clock(), verás que en Wind*ws
devuelve "el tiempo que ha pasado", en vez de "el tiempo de
procesador".
Tu (algoritmo) tardará 3 segundos, pero debe gastar poco procesador.
Prueba algo como:

print time.clock()
hago_operaciones_matematicas_1_millon_de_veces_en_un_bucle()
print time.clock()
time.sleep(3)
print time.clock()


Verás que la segunda operacion (sleep()) solo "consume" en Wind*ws
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 22:21:03 UTC
Permalink
Hola:
Agradezco tu aclaración, pero me gustaría que me dijeras como podría
entonces medir el tiempo que toma un algoritmo de una forma sencilla en
Linux.
Gracias.
sandor



-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En
nombre de peter
Enviado el: martes, 29 de julio de 2008 3:21
Para: Lista de discusión sobre python en castellano
Asunto: Re: [Python-es] ayuda con time.clock()
Post by unknown
t0 = time.clock()
(algoritmo)
t1 = time.clock()
print t1-t0
Sucede que en Windows me da resultados "lógicos" pero en Linux (Ubuntu 8.04)
siempre me imprime 0.00000000000000 (y créanme que lo que pruebo no toma
menos de 3 segundos nunca como mejor valor). Me pudieran ayudar?. (esta
forma de bechmarking la he visto en muchos libros).
Si miras la documentacion de time.clock(), verás que en Wind*ws
devuelve "el tiempo que ha pasado", en vez de "el tiempo de
procesador".
Tu (algoritmo) tardará 3 segundos, pero debe gastar poco procesador.
Prueba algo como:

print time.clock()
hago_operaciones_matematicas_1_millon_de_veces_en_un_bucle()
print time.clock()
time.sleep(3)
print time.clock()


Verás que la segunda operacion (sleep()) solo "consume" en Wind*ws
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 22:37:22 UTC
Permalink
Post by unknown
Agradezco tu aclaración, pero me gustaría que me dijeras como podría
entonces medir el tiempo que toma un algoritmo de una forma sencilla en
Linux.
http://docs.python.org/lib/module-timeit.html


Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 23:28:39 UTC
Permalink
También puedes usar al buen time.time()

ini = time.time()
...
print time.time() - ini

Te daría tiempo en "real" en segundos (float)

Saludos
Eric Sadit
Post by unknown
Post by unknown
Agradezco tu aclaración, pero me gustaría que me dijeras como podría
entonces medir el tiempo que toma un algoritmo de una forma sencilla en
Linux.
http://docs.python.org/lib/module-timeit.html
Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-29 21:24:52 UTC
Permalink
Hola Mario:
Mi experiencia ha sido fundamentalmente con TurboGears, luego me pasé a CherryPy; que es uno de sus componentes, porque no necesitaba tantas cosas. Puedo decir que su manejo es fácil, su lenguaje es muy "pythonico", puedes realizar web dinámicas bastante complejas, incluso puedes depurarlas con Pydev en Eclipse. Me quejo de la documentación; pierdes horas para encontrar que has de poner los gráficos en una carpeta llamada "static", y otra información por el estilo.
Por lo que han comentado aqui muy recientemente, Django, Pylons y Web2py, están incluso mejor, se dice por ejemplo que Django es más serio, que permite un mayor volumen de visitas, y que carga más rápido .
El problema con estos frameworks, es que lo más recomendable es publicar tu aplicación en un Servidor Privado Virtual. ; Supongo que con Web2py también, aunque no lo conozco.
Esto no te ayuda mucho, ¿verdad?...
Saludos veraniegos. :-)




----- Mensaje original ----
De: Mario Lacunza <mlacunza en gmail.com>
Para: Lista de discusión sobre python en castellano <python-es en aditel.org>
Enviado: martes, 29 de julio, 2008 4:40:04
Asunto: [Python-es] Web Frameworks

Hola,

Tengo una aplicacion de escritorio para gestion comercial (inventarios,
caja, ventas, compras, etc) desarrollada en Python la cual requiere
trasladar algunas funcionalidades al ambiente web, he estado investigando
los webframeworks hechos en Python disponibles, pero no llego a ver claro
cual podria ser el mejor para lo que necesito, por lo cual requiero sus
impresiones.

Gracias,
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes



______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 07:51:55 UTC
Permalink
Sin intención de trolear ni de probocar un flame
Tras un par de malas experiencias con los hostings, para web me pasé a php.
Nunca está de más aprender otro lenguaje, y no creo que sea más difícil aprender php que CherryPy.
Post by unknown
Mi experiencia ha sido fundamentalmente con TurboGears, luego me pasé a CherryPy; que es uno de sus componentes, porque no necesitaba tantas cosas. Puedo decir que su manejo es fácil, su lenguaje es muy "pythonico", puedes realizar web dinámicas bastante complejas, incluso puedes depurarlas con Pydev en Eclipse. Me quejo de la documentación; pierdes horas para encontrar que has de poner los gráficos en una carpeta llamada "static", y otra información por el estilo.
Por lo que han comentado aqui muy recientemente, Django, Pylons y Web2py, están incluso mejor, se dice por ejemplo que Django es más serio, que permite un mayor volumen de visitas, y que carga más rápido .
El problema con estos frameworks, es que lo más recomendable es publicar tu aplicación en un Servidor Privado Virtual. ; Supongo que con Web2py también, aunque no lo conozco.
Esto no te ayuda mucho, ¿verdad?...
Saludos veraniegos. :-)
----- Mensaje original ----
De: Mario Lacunza <mlacunza en gmail.com>
Para: Lista de discusión sobre python en castellano <python-es en aditel.org>
Enviado: martes, 29 de julio, 2008 4:40:04
Asunto: [Python-es] Web Frameworks
Hola,
Tengo una aplicacion de escritorio para gestion comercial (inventarios,
caja, ventas, compras, etc) desarrollada en Python la cual requiere
trasladar algunas funcionalidades al ambiente web, he estado investigando
los webframeworks hechos en Python disponibles, pero no llego a ver claro
cual podria ser el mejor para lo que necesito, por lo cual requiero sus
impresiones.
Gracias,
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 14:05:04 UTC
Permalink
Post by unknown
Sin intención de trolear ni de probocar un flame
Tras un par de malas experiencias con los hostings, para web me pasé a php.
Nunca está de más aprender otro lenguaje, y no creo que sea más difícil
aprender php que CherryPy.
No, para nada, yo tambien programo en PHP, sino q queria saber q tan maduro
va Python en este rubro...
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 14:10:21 UTC
Permalink
Post by unknown
Mi experiencia ha sido fundamentalmente con TurboGears, luego me pasé a
CherryPy; que es uno de sus componentes, porque no necesitaba tantas cosas.
Puedo decir que su manejo es fácil, su lenguaje es muy "pythonico", puedes
realizar web dinámicas bastante complejas, incluso puedes depurarlas con
Pydev en Eclipse. Me quejo de la documentación; pierdes horas para encontrar
que has de poner los gráficos en una carpeta llamada "static", y otra
información por el estilo.
Por lo que han comentado aqui muy recientemente, Django, Pylons y Web2py,
están incluso mejor, se dice por ejemplo que Django es más serio, que
permite un mayor volumen de visitas, y que carga más rápido .
El problema con estos frameworks, es que lo más recomendable es publicar
tu aplicación en un Servidor Privado Virtual. ; Supongo que con Web2py
también, aunque no lo conozco.
Esto no te ayuda mucho, ¿verdad?...
Saludos veraniegos. :-)
Pues no, sirve bastante!

Yo por ejemplo he visto q la instalacion de Django es mucho mas sencilla q
la de TG (q instala medio repositorio de paquetes!!) Estoy x ver Pylons y no
sabia de Web2py...

Si alguien mas tiene alguna sugerencia mas...

Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 14:21:34 UTC
Permalink
Hola, estoy siguiendo este hilo, ya que estoy interesado en realizar algo
con python para web, la intención es
Tener en la web un modulo de consultas para clientes de una empresa o
personal de la misma.

Como dice Mario.
"Si alguien mas tiene alguna sugerencia mas..."

Que experiencia tienen con Plone o Zope.
Que son lo que estoy por empezar a ver.

Saludos


Carlos Do Carmo




-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En
nombre de Mario Lacunza
Enviado el: miércoles, 30 de julio de 2008 11:10
Para: Lista de discusión sobre python en castellano
Asunto: Re: [Python-es] Web Frameworks
Post by unknown
Mi experiencia ha sido fundamentalmente con TurboGears, luego me pasé a
CherryPy; que es uno de sus componentes, porque no necesitaba tantas cosas.
Puedo decir que su manejo es fácil, su lenguaje es muy "pythonico", puedes
realizar web dinámicas bastante complejas, incluso puedes depurarlas con
Pydev en Eclipse. Me quejo de la documentación; pierdes horas para encontrar
que has de poner los gráficos en una carpeta llamada "static", y otra
información por el estilo.
Por lo que han comentado aqui muy recientemente, Django, Pylons y Web2py,
están incluso mejor, se dice por ejemplo que Django es más serio, que
permite un mayor volumen de visitas, y que carga más rápido .
El problema con estos frameworks, es que lo más recomendable es publicar
tu aplicación en un Servidor Privado Virtual. ; Supongo que con Web2py
también, aunque no lo conozco.
Esto no te ayuda mucho, ¿verdad?...
Saludos veraniegos. :-)
Pues no, sirve bastante!

Yo por ejemplo he visto q la instalacion de Django es mucho mas sencilla q
la de TG (q instala medio repositorio de paquetes!!) Estoy x ver Pylons y no
sabia de Web2py...

Si alguien mas tiene alguna sugerencia mas...

Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 16:35:07 UTC
Permalink
Post by unknown
Hola, estoy siguiendo este hilo, ya que estoy interesado en realizar algo
con python para web, la intención es
Tener en la web un modulo de consultas para clientes de una empresa o
personal de la misma.
Como dice Mario.
"Si alguien mas tiene alguna sugerencia mas..."
Que experiencia tienen con Plone o Zope.
Que son lo que estoy por empezar a ver.
Varios de los creadores de Zope3 han creado una versión de Zope3
configurada de tal manera que es mucho más fácil de acceder que Zope3
puro. El proyecto se llama Grok y promete mucho. Yo estoy aprendiendo
y de momento me va muy bien. la comunidad aunque no sea muy grande
ahora es muy participativa y te resuelven todas las dudas.

http://grok.zope.org

Te permite hacer aplicaciones web sencillas al más puro estilo MVC de
Django o Ruby on Rails pero sin preocuparte de mapear los objetos en
tablas SQL porque puedes utilizar ZODB transparentemente. A la vez
también te permite, opcionalmente, usar fácilmente los interfaces y
adaptadores de Zope3.

Plone es un CMS muy poderoso pero está más pensado para CMS, no para
aplicaciones web.
Post by unknown
Saludos
Carlos Do Carmo
-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-
bounces en aditel.org] En
nombre de Mario Lacunza
Enviado el: miércoles, 30 de julio de 2008 11:10
Para: Lista de discusión sobre python en castellano
Asunto: Re: [Python-es] Web Frameworks
El 29 de julio de 2008 16:24, Juan M
Post by unknown
Mi experiencia ha sido fundamentalmente con TurboGears, luego me pasé a
CherryPy; que es uno de sus componentes, porque no necesitaba tantas
cosas.
Post by unknown
Puedo decir que su manejo es fácil, su lenguaje es muy "pythonico", puedes
realizar web dinámicas bastante complejas, incluso puedes
depurarlas con
Pydev en Eclipse. Me quejo de la documentación; pierdes horas para
encontrar
Post by unknown
que has de poner los gráficos en una carpeta llamada "static", y otra
información por el estilo.
Por lo que han comentado aqui muy recientemente, Django, Pylons y Web2py,
están incluso mejor, se dice por ejemplo que Django es más serio, que
permite un mayor volumen de visitas, y que carga más rápido .
El problema con estos frameworks, es que lo más recomendable es publicar
tu aplicación en un Servidor Privado Virtual. ; Supongo que con Web2py
también, aunque no lo conozco.
Esto no te ayuda mucho, ¿verdad?...
Saludos veraniegos. :-)
Pues no, sirve bastante!
Yo por ejemplo he visto q la instalacion de Django es mucho mas sencilla q
la de TG (q instala medio repositorio de paquetes!!) Estoy x ver Pylons y no
sabia de Web2py...
Si alguien mas tiene alguna sugerencia mas...
Saludos / Best regards
Mario Lacunza
Consultor de Sistemas - Webmaster
Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 17:48:10 UTC
Permalink
Post by unknown
Hola, estoy siguiendo este hilo, ya que estoy interesado en realizar algo
Post by unknown
con python para web, la intención es
Tener en la web un modulo de consultas para clientes de una empresa o
personal de la misma.
Como dice Mario.
"Si alguien mas tiene alguna sugerencia mas..."
Que experiencia tienen con Plone o Zope.
Que son lo que estoy por empezar a ver.
Varios de los creadores de Zope3 han creado una versión de Zope3
configurada de tal manera que es mucho más fácil de acceder que Zope3 puro.
El proyecto se llama Grok y promete mucho. Yo estoy aprendiendo y de momento
me va muy bien. la comunidad aunque no sea muy grande ahora es muy
participativa y te resuelven todas las dudas.
http://grok.zope.org
Te permite hacer aplicaciones web sencillas al más puro estilo MVC de
Django o Ruby on Rails pero sin preocuparte de mapear los objetos en tablas
SQL porque puedes utilizar ZODB transparentemente. A la vez también te
permite, opcionalmente, usar fácilmente los interfaces y adaptadores de
Zope3.
Plone es un CMS muy poderoso pero está más pensado para CMS, no para
aplicaciones web.
Hola.

Una pregunta sobre Grok. ¿Permite conexión simultánea con varias bases de
datos diferentes? Yo estoy empezando un pequeño proyecto con Django, y el
primer problema con el que me he topado es que django es "single-db". Más o
menos me las arreglo con SQLAlchemy, pero me hubiese gustado poder trabajar
sin necesidad de cambiar el ORM. ¿Es Grok "multiple-db enabled"?

Gracias.
Jose
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 17:51:46 UTC
Permalink
django pronto soportara multi-db's

Saludos.

2008/7/30 Jose Caballero <jcaballero.hep en gmail.com>
Post by unknown
Post by unknown
Hola, estoy siguiendo este hilo, ya que estoy interesado en realizar
algo
Post by unknown
Post by unknown
con python para web, la intención es
Tener en la web un modulo de consultas para clientes de una empresa o
personal de la misma.
Como dice Mario.
"Si alguien mas tiene alguna sugerencia mas..."
Que experiencia tienen con Plone o Zope.
Que son lo que estoy por empezar a ver.
Varios de los creadores de Zope3 han creado una versión de Zope3
configurada de tal manera que es mucho más fácil de acceder que Zope3
puro.
Post by unknown
El proyecto se llama Grok y promete mucho. Yo estoy aprendiendo y de
momento
Post by unknown
me va muy bien. la comunidad aunque no sea muy grande ahora es muy
participativa y te resuelven todas las dudas.
http://grok.zope.org
Te permite hacer aplicaciones web sencillas al más puro estilo MVC de
Django o Ruby on Rails pero sin preocuparte de mapear los objetos en
tablas
Post by unknown
SQL porque puedes utilizar ZODB transparentemente. A la vez también te
permite, opcionalmente, usar fácilmente los interfaces y adaptadores de
Zope3.
Plone es un CMS muy poderoso pero está más pensado para CMS, no para
aplicaciones web.
Hola.
Una pregunta sobre Grok. ¿Permite conexión simultánea con varias bases de
datos diferentes? Yo estoy empezando un pequeño proyecto con Django, y el
primer problema con el que me he topado es que django es "single-db". Más o
menos me las arreglo con SQLAlchemy, pero me hubiese gustado poder trabajar
sin necesidad de cambiar el ORM. ¿Es Grok "multiple-db enabled"?
Gracias.
Jose
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 19:22:13 UTC
Permalink
Eso dicen, pero yo tengo que acabar el proyecto para ayer, jejeje. Ya sabes
como va el tema...
Post by unknown
django pronto soportara multi-db's
Saludos.
2008/7/30 Jose Caballero <jcaballero.hep en gmail.com>
Post by unknown
Post by unknown
Hola, estoy siguiendo este hilo, ya que estoy interesado en realizar
algo
Post by unknown
Post by unknown
con python para web, la intención es
Tener en la web un modulo de consultas para clientes de una empresa o
personal de la misma.
Como dice Mario.
"Si alguien mas tiene alguna sugerencia mas..."
Que experiencia tienen con Plone o Zope.
Que son lo que estoy por empezar a ver.
Varios de los creadores de Zope3 han creado una versión de Zope3
configurada de tal manera que es mucho más fácil de acceder que Zope3
puro.
Post by unknown
El proyecto se llama Grok y promete mucho. Yo estoy aprendiendo y de
momento
Post by unknown
me va muy bien. la comunidad aunque no sea muy grande ahora es muy
participativa y te resuelven todas las dudas.
http://grok.zope.org
Te permite hacer aplicaciones web sencillas al más puro estilo MVC de
Django o Ruby on Rails pero sin preocuparte de mapear los objetos en
tablas
Post by unknown
SQL porque puedes utilizar ZODB transparentemente. A la vez también te
permite, opcionalmente, usar fácilmente los interfaces y adaptadores de
Zope3.
Plone es un CMS muy poderoso pero está más pensado para CMS, no para
aplicaciones web.
Hola.
Una pregunta sobre Grok. ¿Permite conexión simultánea con varias bases de
datos diferentes? Yo estoy empezando un pequeño proyecto con Django, y el
primer problema con el que me he topado es que django es "single-db". Más
o
Post by unknown
menos me las arreglo con SQLAlchemy, pero me hubiese gustado poder
trabajar
Post by unknown
sin necesidad de cambiar el ORM. ¿Es Grok "multiple-db enabled"?
Gracias.
Jose
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 18:34:46 UTC
Permalink
El 30 de julio de 2008 12:35, Danny
Post by unknown
Hola, estoy siguiendo este hilo, ya que estoy interesado en
realizar algo
Post by unknown
con python para web, la intención es
Tener en la web un modulo de consultas para clientes de una
empresa o
personal de la misma.
Como dice Mario.
"Si alguien mas tiene alguna sugerencia mas..."
Que experiencia tienen con Plone o Zope.
Que son lo que estoy por empezar a ver.
Varios de los creadores de Zope3 han creado una versión de Zope3
configurada de tal manera que es mucho más fácil de acceder que Zope3 puro.
El proyecto se llama Grok y promete mucho. Yo estoy aprendiendo y de momento
me va muy bien. la comunidad aunque no sea muy grande ahora es muy
participativa y te resuelven todas las dudas.
http://grok.zope.org
Te permite hacer aplicaciones web sencillas al más puro estilo MVC de
Django o Ruby on Rails pero sin preocuparte de mapear los objetos en tablas
SQL porque puedes utilizar ZODB transparentemente. A la vez también te
permite, opcionalmente, usar fácilmente los interfaces y
adaptadores de
Zope3.
Plone es un CMS muy poderoso pero está más pensado para CMS, no para
aplicaciones web.
Hola.
Una pregunta sobre Grok. ¿Permite conexión simultánea con varias bases de
datos diferentes? Yo estoy empezando un pequeño proyecto con Django, y el
primer problema con el que me he topado es que django es "single-
db". Más o
menos me las arreglo con SQLAlchemy, pero me hubiese gustado poder trabajar
sin necesidad de cambiar el ORM. ¿Es Grok "multiple-db enabled"?
No soy un experto en Zope3 pero sí que es frecuente combinar ZODB
(base de datos de objectos) con una base de datos SQL en la misma
aplicación. Supongo que habrá alguna receta para zc.buildout para
crear una aplicación con varias bases de datos. Pero que yo sepa no
hay un howto específico para Grok sobre este tema.

En Grok se suele usar SQLAlchemy y Storm como ORMs. Aquí tienes un
howto para Storm
http://grok.zope.org/documentation/how-to/grok-orm-with-storm
Gracias.
Jose
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 14:22:55 UTC
Permalink
Supongo que en parte es cuestion de gustos, yo despues de evaluar las
alternativas para migrar una aplicacion desktop (vb!) elegi django
como la mejor opcion y creo que es una gran herramienta. El propio
Guido habla bien de django. Realmente cuanto mas lo uso mas me
asombro. Tiene un gran efecto uaaaa (que es lo que uno dice cada vez
que descubre como hace algo nuevo) :-)

Ademas la comunidad de django funciona muy bien y la documentacion
esta centralizada.

saludos
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 14:57:34 UTC
Permalink
Post by unknown
Supongo que en parte es cuestion de gustos, yo despues de evaluar las
alternativas para migrar una aplicacion desktop (vb!) elegi django
como la mejor opcion y creo que es una gran herramienta. El propio
Guido habla bien de django. Realmente cuanto mas lo uso mas me
asombro. Tiene un gran efecto uaaaa (que es lo que uno dice cada vez
que descubre como hace algo nuevo) :-)
Ademas la comunidad de django funciona muy bien y la documentacion
esta centralizada.
saludos
Holas,

por lo q lei de Zope dicen q es un mastodonte, muy bueno pero para cosas
pequeñas es como matar gallinazos a cañonazos... Creo q tiene problemas de
hostings, no encuentras asi nomas y son mas caros. De Plone no he escuchado
nada...

Seria interesante Hernan si nos puedes dar un poco mas de detalle en tus
apreciaciones.

Mi idea es abandonar PHP y unificar mis desarrollos en Python.
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 18:34:02 UTC
Permalink
Post by unknown
Seria interesante Hernan si nos puedes dar un poco mas de detalle en tus
apreciaciones.
Les cuento un poco. Mi primera recoleccion de información fue sobre
informes que habia en la web. De esa lectura me quede con Zope como
mejor candidato, TG como segundo, y Django como tercero.

Zope parece ser el mas maduro, lo instale y trate de seguir los
tutoriales con bastantes problemas. Me recomendaron Grok, sobre Zope,
que simplificaba las cosas, y despues de dos dias de tratar de hacerlo
funcionar, pasé a probar los otros.

TG habia sido en principio mi primer candidato, pero los cambios
incompatibles de la version 1 a la 2 me dieron un poco de imagen
inestable. Yo estoy por reemplazar una aplicacion que mueve a toda una
organización, y si bien me parece fantastico que tg tome el mejor
elemento de cada cosa, esa inestabilidad me hizo dudar.

En principio puse ultimo a Django porque lo percibia como mas
orientado al manejo de contenidos nada mas. Y no me gustaba que fuera
MTV en vez de MVC, y el mapeo de urls con expresiones regulares. En
todo esto estaba equivocado.
Cuando lo empecé a probar, la documentacion es fantastica, la
instalacion tambien, anduvo de una y no veia limitaciones a la vista.
Solo me generaba dudas no ver aplicaciones Django del tipo que yo
estaba pensando, y que la BD orientada a objetos (via ORM) no permitia
claves compuestas. Despues de leer un poco, decidí que el enfoque oo
no me tenia que generar problemas, con la idea de que el objeto tiene
identidad independientemente del valor de sus atributos.

Y finalmente, leer que Guido van Rossum lo nombraba como el mejor web
framework, y al salir GoogleAppEngine lo primero con lo que era
compatible era Django... me dió el ganador.

Ahora que estoy metido de lleno, sigo encontrando cosas maravillosas:
herencia de templates, includes de html, el admin que viene in box, el
libro de django (que terminé participando en la traducción) y otro
libro mas de este año escrito por un flaco de google.


Por ahora estoy armando un programa de carga que va a soportar 120000
recetas al mes. La aplicación del proyecto completo es el manejo
completo de un colegio de farmaceuticos, es decir, la gestion entre
las farmacias y las obras sociales de un partido. Hasta ahora sigo
creyendo que mi elección fué correcta.

Web2py es un gran proyecto. En algunas cosas hasta parece mas avanzado
que django. Lo pienso estudiar mas adelante, pero me parece demasiado
nuevo, con una comunidad pequeña, y hasta donde entiendo un solo
desarrollador. Tal vez sea o termine siendo mejor que django, pero por
ahora no me mandaria con un gran sistema sobre web2py. Sí lo elegiría
para algún sistema chico, según el autor, podés llevar un web2py
operativo en un pen drive. Algunas cosas las hace mejor que django,
como la sincronizacion de modelos y tablas, y ademas es autocontenido,
el entorno de desarrollo es el propio web2py. (Ademas parece que
massimo es un genio). Pero creo que Django está en la cresta de la
ola.

Mas adelante les cuento.

Espero que sirva.

Saludos
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 17:35:54 UTC
Permalink
Post by unknown
(...)
Pues no, sirve bastante!
Yo por ejemplo he visto q la instalacion de Django es mucho mas sencilla q
la de TG (q instala medio repositorio de paquetes!!)
Entonces supongo que instalar Ubuntu, por ejemplo, debe ser harto
complicado... ;)

Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 21:06:06 UTC
Permalink
Post by unknown
Post by unknown
(...)
Pues no, sirve bastante!
Yo por ejemplo he visto q la instalacion de Django es mucho mas sencilla
q
Post by unknown
la de TG (q instala medio repositorio de paquetes!!)
Entonces supongo que instalar Ubuntu, por ejemplo, debe ser harto
complicado... ;)
Alberto
No para nada, demora menos q una instalacion de WinXP.

La comparacion era xq otros FW solo instalaban su paquete referido y no N
mas... y si sabemos q cada uno de esos son proyectos independientes cada son
su ciclo de desarrollo cada uno con su time para release......
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 21:20:58 UTC
Permalink
Post by unknown
Post by unknown
Post by unknown
(...)
Pues no, sirve bastante!
Yo por ejemplo he visto q la instalacion de Django es mucho mas sencilla
q
Post by unknown
la de TG (q instala medio repositorio de paquetes!!)
Entonces supongo que instalar Ubuntu, por ejemplo, debe ser harto
complicado... ;)
Alberto
No para nada, demora menos q una instalacion de WinXP.
La comparacion era xq otros FW solo instalaban su paquete referido y no N
mas... y si sabemos q cada uno de esos son proyectos independientes cada son
su ciclo de desarrollo cada uno con su time para release......
Sí es cierto... pero no entiendo porqué insinúas que éso sea algo malo.
Siempre y cuando haya un sistema que se encargue de gestionar las
dependencias y versiones de las mismas (pkg_resources) no entiendo
porque reutilizar código ajeno, empaquetado por sus desarrallodores, con
su propia comunidad detrás (aparte de la que lo usa a través de TG) sea
algo que se deba evitar. Más aun cuando el abuelo Zope está siguiendo el
mismo camino en la versión 3 ;)

Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 21:41:26 UTC
Permalink
Post by unknown
El 30 de julio de 2008 12:35, Alberto Valverde<alberto en toscat.net
Post by unknown
Post by unknown
(...)
Pues no, sirve bastante!
Yo por ejemplo he visto q la instalacion de Django es mucho mas
sencilla
Post by unknown
q
Post by unknown
la de TG (q instala medio repositorio de paquetes!!)
Entonces supongo que instalar Ubuntu, por ejemplo, debe ser harto
complicado... ;)
Alberto
No para nada, demora menos q una instalacion de WinXP.
La comparacion era xq otros FW solo instalaban su paquete referido y no N
mas... y si sabemos q cada uno de esos son proyectos independientes cada
son
su ciclo de desarrollo cada uno con su time para release......
Sí es cierto... pero no entiendo porqué insinúas que éso sea algo malo.
Siempre y cuando haya un sistema que se encargue de gestionar las
dependencias y versiones de las mismas (pkg_resources) no entiendo
porque reutilizar código ajeno, empaquetado por sus desarrallodores, con
su propia comunidad detrás (aparte de la que lo usa a través de TG) sea
algo que se deba evitar. Más aun cuando el abuelo Zope está siguiendo el
mismo camino en la versión 3 ;)
Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Ok, me explico, y pongo como muestra lo q esta pasando con TG, cambio de la
version 1 a la 2, las cuales no tienen compatibilidad entre ellas.

El problema se da, que cualquiera de esos proyectos "componentes" pueden
tomar decisiones o caminos q rompan con lo actuado hasta el momento por TG
(q creo es lo q sucedio).

Si eso pasara supongo q TG tomaria la decision o de romper compatibildad
entre sus versiones o asumir la mantencion de la libreria adecuandola a sus
cambios. Lo cual obviamente es otro mundo... ya vimos cual fue su decision

Para nada dije, q reutilizar codigo sea malo, sino el Opensource no
existiria y del cual soy ferviente partidario. Nadie dice q el sistema para
resolver dependencias de Ubuntu (distro de Linux q uso) sea malo, solo dije
que la instalacion me parece engorrosa al tener q configurar tantos paquetes
a diferencia de otros FW q solo instalan su propia libreria. Creo q es un
factor a tener en cuenta, si uno es el Server Admin :D
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 22:36:16 UTC
Permalink
Post by unknown
Post by unknown
El 30 de julio de 2008 12:35, Alberto Valverde<alberto en toscat.net
Post by unknown
Post by unknown
(...)
Pues no, sirve bastante!
Yo por ejemplo he visto q la instalacion de Django es mucho mas
sencilla
Post by unknown
q
Post by unknown
la de TG (q instala medio repositorio de paquetes!!)
Entonces supongo que instalar Ubuntu, por ejemplo, debe ser harto
complicado... ;)
Alberto
No para nada, demora menos q una instalacion de WinXP.
La comparacion era xq otros FW solo instalaban su paquete referido y no N
mas... y si sabemos q cada uno de esos son proyectos independientes cada
son
su ciclo de desarrollo cada uno con su time para release......
Sí es cierto... pero no entiendo porqué insinúas que éso sea algo malo.
Siempre y cuando haya un sistema que se encargue de gestionar las
dependencias y versiones de las mismas (pkg_resources) no entiendo
porque reutilizar código ajeno, empaquetado por sus desarrallodores, con
su propia comunidad detrás (aparte de la que lo usa a través de TG) sea
algo que se deba evitar. Más aun cuando el abuelo Zope está siguiendo el
mismo camino en la versión 3 ;)
Ok, me explico, y pongo como muestra lo q esta pasando con TG, cambio de la
version 1 a la 2, las cuales no tienen compatibilidad entre ellas.
¿Es eso malo? Mira como le va a Windows teniendo que mantener
compatibilidad con Windows 3.1... :D
Post by unknown
Post by unknown
El problema se da, que cualquiera de esos proyectos "componentes" pueden
tomar decisiones o caminos q rompan con lo actuado hasta el momento por TG
(q creo es lo q sucedio).
No fue así. Los componentes que han cambiado en TG2 y TG1.1 frente a TG1
no se cambiarón porque los antiguos tomasen distintos caminos sino
porque han surgido alternativas (mucho) mejores (SQLObject->SQLAlchemy,
Kid->Genshi). Aun así, los componentes "antiguos" (y TG1 en sí) se
siguen manteniendo por sus respectivas comunidades aunque sea en modo de
bugfix puesto que varios tenemos aplicaciones en producción que aunque
no interesa migrar (puesto que no es necesaria la nueva funcionalidad o
se ha implementado localmente) sí interesea actualizar en caso de que se
descubra algún fallo de seguridad.
Post by unknown
Si eso pasara supongo q TG tomaria la decision o de romper compatibildad
entre sus versiones o asumir la mantencion de la libreria adecuandola a sus
cambios. Lo cual obviamente es otro mundo... ya vimos cual fue su decision
Como he comentado antes, se tomaron las dos decisiones: Por un lado
re-implentar TG2, sin lastres de compatibilidad, para prepararse mejor
al futuro (no porque lo nuevo fuese más "cool", SQLAlchemy realmente le
da mil vueltas a la competencia) y por otro lado mantener TG1 para los
que la tenemos en producción. Sí, en algunos casos ha habido que fijar
una versión lejos de la actual (cherrypy2) pero no ha habido problemas
en asegurarnos de que siga recibiendo bugfixes por sus respectivas
comunidades.
Post by unknown
Para nada dije, q reutilizar codigo sea malo, sino el Opensource no
existiria y del cual soy ferviente partidario. Nadie dice q el sistema para
resolver dependencias de Ubuntu (distro de Linux q uso) sea malo, solo dije
que la instalacion me parece engorrosa al tener q configurar tantos paquetes
a diferencia de otros FW q solo instalan su propia libreria.
¿Qué has tenido que configurar exactamente? Debe ser un bug porque a mí
"easy_install turbogears" de lo deja todo muy bonito y configurado
automáticamente. ;)
Post by unknown
Creo q es un
factor a tener en cuenta, si uno es el Server Admin :D
apt-get ~ easy_install. Es decir, cumplen la misma función: Resolver
dependencias. Que yo sepa a los server admin no les ha ido tan mal
dejando que una herramienta se encargue de esconder el "engorro". ¿Has
visto de cuantas dependencias tira un "apt-get install apache2
libapache2-X libapache2-Y" en una instalación fresca? Me gustaría pegar
aquí el ejemplo pero ya los tengo instalados y no me apetece ahora
montar una máquina virtual para poner el ejemplo... ;)

Resumiendo. Lo que quiero decir es que sí, tener que depender de varias
librerías tiene problemas (más sociales que técnicos) pero la ventaja de
poder reutilizar librerías que por sí solas desempeñan mejor la tarea
especifica que a otros frameworks les gusta reinventar (a un ritmo
bastante más lento, por cierto) ampliamente compensa los
inconventientes, IMHO.

Además, a nivel personal: es agradable comprobar que lo que has
aprendido de SQLAlchemy, por ejemplo, lo puedes reutilizar en una
aplicación para el iphone. O que el Request/Response de webob lo tienes
en Pylons, TG2, el mini framework del GAE... o lo puedes utilizar para
ese pequeño web-service que no necesita de todo el peso de un framework,
que Mako lo puedes importar en un script de cuatro líneas para generar
texto.... todo ésto sin tener que instalar la vaca entera.

Salud,
Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 22:50:40 UTC
Permalink
Post by unknown
El 30 de julio de 2008 16:20, Alberto Valverde<alberto en toscat.net
Post by unknown
El 30 de julio de 2008 12:35, Alberto Valverde<alberto en toscat.net
Post by unknown
Post by unknown
(...)
Pues no, sirve bastante!
Yo por ejemplo he visto q la instalacion de Django es mucho mas
sencilla
Post by unknown
q
Post by unknown
la de TG (q instala medio repositorio de paquetes!!)
Entonces supongo que instalar Ubuntu, por ejemplo, debe ser harto
complicado... ;)
Alberto
No para nada, demora menos q una instalacion de WinXP.
La comparacion era xq otros FW solo instalaban su paquete referido y no
N
Post by unknown
mas... y si sabemos q cada uno de esos son proyectos independientes
cada
Post by unknown
son
su ciclo de desarrollo cada uno con su time para release......
Sí es cierto... pero no entiendo porqué insinúas que éso sea algo malo.
Siempre y cuando haya un sistema que se encargue de gestionar las
dependencias y versiones de las mismas (pkg_resources) no entiendo
porque reutilizar código ajeno, empaquetado por sus desarrallodores, con
su propia comunidad detrás (aparte de la que lo usa a través de TG) sea
algo que se deba evitar. Más aun cuando el abuelo Zope está siguiendo el
mismo camino en la versión 3 ;)
Ok, me explico, y pongo como muestra lo q esta pasando con TG, cambio de
la
Post by unknown
version 1 a la 2, las cuales no tienen compatibilidad entre ellas.
¿Es eso malo? Mira como le va a Windows teniendo que mantener
compatibilidad con Windows 3.1... :D
No pues,.... estamos hablando de algo planificado y no de un parche sobre el
parche.... ;D
Post by unknown
Post by unknown
El problema se da, que cualquiera de esos proyectos "componentes" pueden
tomar decisiones o caminos q rompan con lo actuado hasta el momento por
TG
Post by unknown
(q creo es lo q sucedio).
No fue así. Los componentes que han cambiado en TG2 y TG1.1 frente a TG1
no se cambiarón porque los antiguos tomasen distintos caminos sino
porque han surgido alternativas (mucho) mejores (SQLObject->SQLAlchemy,
Kid->Genshi). Aun así, los componentes "antiguos" (y TG1 en sí) se
siguen manteniendo por sus respectivas comunidades aunque sea en modo de
bugfix puesto que varios tenemos aplicaciones en producción que aunque
no interesa migrar (puesto que no es necesaria la nueva funcionalidad o
se ha implementado localmente) sí interesea actualizar en caso de que se
descubra algún fallo de seguridad.
OK esto no lo sabia, gracias por el dato.
Post by unknown
Si eso pasara supongo q TG tomaria la decision o de romper compatibildad
entre sus versiones o asumir la mantencion de la libreria adecuandola a
sus
cambios. Lo cual obviamente es otro mundo... ya vimos cual fue su
decision
Como he comentado antes, se tomaron las dos decisiones: Por un lado
re-implentar TG2, sin lastres de compatibilidad, para prepararse mejor
al futuro (no porque lo nuevo fuese más "cool", SQLAlchemy realmente le
da mil vueltas a la competencia) y por otro lado mantener TG1 para los
que la tenemos en producción. Sí, en algunos casos ha habido que fijar
una versión lejos de la actual (cherrypy2) pero no ha habido problemas
en asegurarnos de que siga recibiendo bugfixes por sus respectivas
comunidades.
OK
Post by unknown
Para nada dije, q reutilizar codigo sea malo, sino el Opensource no
existiria y del cual soy ferviente partidario. Nadie dice q el sistema
para
resolver dependencias de Ubuntu (distro de Linux q uso) sea malo, solo
dije
que la instalacion me parece engorrosa al tener q configurar tantos
paquetes
a diferencia de otros FW q solo instalan su propia libreria.
¿Qué has tenido que configurar exactamente? Debe ser un bug porque a mí
"easy_install turbogears" de lo deja todo muy bonito y configurado
automáticamente. ;)
Creo q es un
factor a tener en cuenta, si uno es el Server Admin :D
apt-get ~ easy_install. Es decir, cumplen la misma función: Resolver
dependencias. Que yo sepa a los server admin no les ha ido tan mal
dejando que una herramienta se encargue de esconder el "engorro". ¿Has
visto de cuantas dependencias tira un "apt-get install apache2
libapache2-X libapache2-Y" en una instalación fresca? Me gustaría pegar
aquí el ejemplo pero ya los tengo instalados y no me apetece ahora
montar una máquina virtual para poner el ejemplo... ;)
Creo q no me dejo entender.. a mi por ejemplo me quiso cambiar a una version
mas antigua de un componente compilado q tenia.. x lo cual no lo instale...
Post by unknown
Resumiendo. Lo que quiero decir es que sí, tener que depender de varias
librerías tiene problemas (más sociales que técnicos) pero la ventaja de
poder reutilizar librerías que por sí solas desempeñan mejor la tarea
especifica que a otros frameworks les gusta reinventar (a un ritmo
bastante más lento, por cierto) ampliamente compensa los
inconventientes, IMHO.
No me referia a librerias, sino a proyectos enteros independientes uno de
otro, ya hemos visto en Ubuntu x ejemplo algunos problemas x las
descoordinaciones entre la Distro y x ejemplo Gnome, q despues de unas
semanas Ubuntu tenia q sacar un update con la nueva version de Gnome... a
ese tipo de problemas me refiero, puesto q si estas manteniendo un servidor
de produccion,no puedes andar cambiando la instalacion base sin previas
pruebas exhaustivas y si eso no lo tienes calendarizado adecuadamente vas a
tener problemas, agregale el tiempo para testear-instalar x cada cambio en
los proyectos relacionados... no digo q sea critico pero es un factor a
tomar en consideracion al escoger el FW.
Post by unknown
Además, a nivel personal: es agradable comprobar que lo que has
aprendido de SQLAlchemy, por ejemplo, lo puedes reutilizar en una
aplicación para el iphone. O que el Request/Response de webob lo tienes
en Pylons, TG2, el mini framework del GAE... o lo puedes utilizar para
ese pequeño web-service que no necesita de todo el peso de un framework,
que Mako lo puedes importar en un script de cuatro líneas para generar
texto.... todo ésto sin tener que instalar la vaca entera.
Salud,
Alberto
Aqui si ya me diste que leer, como decia al inicio (creo :D) soy nuevo en la
programacion web... con Python.
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 23:46:45 UTC
Permalink
Post by unknown
E
Post by unknown
apt-get ~ easy_install. Es decir, cumplen la misma función: Resolver
dependencias. Que yo sepa a los server admin no les ha ido tan mal
dejando que una herramienta se encargue de esconder el "engorro". ¿Has
visto de cuantas dependencias tira un "apt-get install apache2
libapache2-X libapache2-Y" en una instalación fresca? Me gustaría pegar
aquí el ejemplo pero ya los tengo instalados y no me apetece ahora
montar una máquina virtual para poner el ejemplo... ;)
Creo q no me dejo entender.. a mi por ejemplo me quiso cambiar a una version
mas antigua de un componente compilado q tenia.. x lo cual no lo instale...
Ahhhmigo, este tipo de problemas nos traía locos a todos :) Ahora hay
varias implementaciones de la misma solución: Crear entornos python
"virtuales" aislados en los que puedes tener instalada la versión que
necesites sin tener que tocar el site-packages del sistema. En TG/Pylons
solemos usar virtualenv, a los de zope les gusta más zc.buildout. El
último no lo he usado nunca pero dicen que es más potente (y
complicado), el primero es sencillísimo pero funciona.
Post by unknown
Post by unknown
Resumiendo. Lo que quiero decir es que sí, tener que depender de varias
librerías tiene problemas (más sociales que técnicos) pero la ventaja de
poder reutilizar librerías que por sí solas desempeñan mejor la tarea
especifica que a otros frameworks les gusta reinventar (a un ritmo
bastante más lento, por cierto) ampliamente compensa los
inconventientes, IMHO.
No me referia a librerias, sino a proyectos enteros independientes uno de
otro, ya hemos visto en Ubuntu x ejemplo algunos problemas x las
descoordinaciones entre la Distro y x ejemplo Gnome, q despues de unas
semanas Ubuntu tenia q sacar un update con la nueva version de Gnome... a
ese tipo de problemas me refiero, puesto q si estas manteniendo un servidor
de produccion,no puedes andar cambiando la instalacion base sin previas
pruebas exhaustivas y si eso no lo tienes calendarizado adecuadamente vas a
tener problemas, agregale el tiempo para testear-instalar x cada cambio en
los proyectos relacionados... no digo q sea critico pero es un factor a
tomar en consideracion al escoger el FW.
Entiendo lo que quieres decir pero me parece un factor inevitable en
éste tipo de conglomerados (como es TG o puede ser cualquier distro de
linux). Aun así, normalmente los que los mantienen se encargan del
trabajo sucio. En el caso de TG, siempre que lanzamos una nueva versión
especificamos que versión (o rango de versiones) sabemos que funciona de
cada dependencia (y nos aseguramos de esté registrada en
pypi.python.org). Los usuarios no deberían/amos tener que preocuparnos
por confictos salvo que tengamos un sistema "sucio" (sin entornos
compartimentizados para cada proyecto) ya que cuando pides tubogears ==
1.0.4.2 las versiones de las dependencias son muy concretas también.

Sé que puede sonar muy engorroso todo ésto de tener que usar "entornos
aislados" para no tener conflictos pero es así para todos, usemos
setuptools para compartimentalizar código en paquetes inter-dependientes
o no. Fijate si no como en cualquier hosting compartido del sistema sólo
compartes un par de librerías hiper estables (imaging, psycopg, etc..)
que te instala el proveedor mientras que cada usuario tiene en su path
su propio checkout de django, home de zope, virtualenv de X... Aun en un
servidor dedicado, es de locos compartir algo que se mueve rápido
(django, tg, pylons) entre proyectos nuevos y los que llevan en
producción algún tiempo.

Al final creo que la diferencia de la que estamos hablando está en como
tratan sus dependencias web2py/django y tg/pylons/zope3. Los primeros
directamente las copian en su tronco (eg: simplejson) mientras que los
segundos las mantienen externas (que no por ello menos integradas). A
mí, personalmente, me parece mejor la segunda opción, tanto para los
"dependientes" (menos trabajo para mantenerla) como para los
"dependidos": les traemos usuarios y en caso de fallos mandamos
bug-reports, les tocamos las narices hasta que los arreglen o los
arreglamos nosotros (ya que muchos tenemos commit en los otros
repositorios o mandamos parches). Además, siempre que termino copiandome
una librería dentro de un proyecto y la parcheo por cualquier fallo me
olvido de mandarle un parche al autor ;)
Post by unknown
Post by unknown
Además, a nivel personal: es agradable comprobar que lo que has
aprendido de SQLAlchemy, por ejemplo, lo puedes reutilizar en una
aplicación para el iphone. O que el Request/Response de webob lo tienes
en Pylons, TG2, el mini framework del GAE... o lo puedes utilizar para
ese pequeño web-service que no necesita de todo el peso de un framework,
que Mako lo puedes importar en un script de cuatro líneas para generar
texto.... todo ésto sin tener que instalar la vaca entera.
Aqui si ya me diste que leer, como decia al inicio (creo :D) soy nuevo en la
programacion web... con Python.
Jeje, un día tengo que empezar a bloguear en castellano sobre todas
estas "pequeñas" herramientas y alguna más... python-web a cambiado
*mucho* en los últimos 3 años pero parece que las noticias no terminan
de cuajar bien con la eñe (todavía sigo escuchando "mod_python" por aquí
y todo... ;)

Saludos,
Alberto

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 07:21:02 UTC
Permalink
Post by unknown
Jeje, un día tengo que empezar a bloguear en castellano sobre todas
estas "pequeñas" herramientas y alguna más... python-web a cambiado
*mucho* en los últimos 3 años pero parece que las noticias no terminan
de cuajar bien con la eñe (todavía sigo escuchando "mod_python" por aquí
y todo... ;)
A ver si es verdad, que me subscribí al RSS de
http://albertovalverde.es/ y no se ven cambios ;-)
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 09:54:50 UTC
Permalink
Post by unknown
Post by unknown
Jeje, un día tengo que empezar a bloguear en castellano sobre todas
estas "pequeñas" herramientas y alguna más... python-web a cambiado
*mucho* en los últimos 3 años pero parece que las noticias no terminan
de cuajar bien con la eñe (todavía sigo escuchando "mod_python" por aquí
y todo... ;)
A ver si es verdad, que me subscribí al RSS de
http://albertovalverde.es/ y no se ven cambios ;-)
Me has pillado, actualizar el blog uno de mis temas pendientes desde
hace tiempo... :)

Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 18:40:41 UTC
Permalink
Hola a todos:
He seguido el hilo en silencio, pero sin embargo todavía tengo la duda de
cual será el mejor FW para mi tesis. Es un gran projecto que tiene una
fuerte dependencia con PostgreSQL. Sucede que estado trabajando con CherryPy
pero no me gusta del todo. He leído algo de Django, pero es una complicación
trabajar con su ORM, sobre todo cuando hay que hacer cambios en la
estructura de la BD (y tendre que hacerlo continuamente, pues se piensa en
la futura inclusión de nuevas tablas, etc). Me pregunto si Web2Py será
mejor, o si ambos (django y web2py) soportan trabajar con SQLAlquemy (que
según he leído aquí esta muy bueno, no?). Por favor díganme que creen.
Saludos, sandor



-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En
nombre de Alberto Valverde
Enviado el: jueves, 31 de julio de 2008 5:55
Para: Lista de discusión sobre python en castellano
Asunto: Re: [Python-es] Web Frameworks
Post by unknown
Post by unknown
Jeje, un día tengo que empezar a bloguear en castellano sobre todas
estas "pequeñas" herramientas y alguna más... python-web a cambiado
*mucho* en los últimos 3 años pero parece que las noticias no terminan
de cuajar bien con la eñe (todavía sigo escuchando "mod_python" por aquí
y todo... ;)
A ver si es verdad, que me subscribí al RSS de
http://albertovalverde.es/ y no se ven cambios ;-)
Me has pillado, actualizar el blog uno de mis temas pendientes desde
hace tiempo... :)

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

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 19:29:24 UTC
Permalink
El 31 de julio de 2008 13:40, Otto Machado<ottomachado en infomed.sld.cu>
Post by unknown
He seguido el hilo en silencio, pero sin embargo todavía tengo la duda de
cual será el mejor FW para mi tesis. Es un gran projecto que tiene una
fuerte dependencia con PostgreSQL. Sucede que estado trabajando con CherryPy
pero no me gusta del todo. He leído algo de Django, pero es una complicación
trabajar con su ORM, sobre todo cuando hay que hacer cambios en la
estructura de la BD (y tendre que hacerlo continuamente, pues se piensa en
la futura inclusión de nuevas tablas, etc). Me pregunto si Web2Py será
mejor, o si ambos (django y web2py) soportan trabajar con SQLAlquemy (que
según he leído aquí esta muy bueno, no?). Por favor díganme que creen.
Saludos, sandor
Y yo sigo en las mismas... tambien estoy entre Pylons, web2py y no se q
tanto mas q se ha mencionado... :D

Alguien se anima a recomendar alguno?
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 19:52:29 UTC
Permalink
Vuelvo a recomendar Django, en todo caso como comente antes estuve
probando varios y fue con el que mas facil pude empezar a trabajar.

Saludos
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 19:57:06 UTC
Permalink
En q parte Hernan? ayer estuve probando y me parecio aun mas facil,en cuanto
a instalacion y tener corriendo una demo...
Post by unknown
Vuelvo a recomendar Django, en todo caso como comente antes estuve
probando varios y fue con el que mas facil pude empezar a trabajar.
Saludos
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 20:06:45 UTC
Permalink
Post by unknown
En q parte Hernan? ayer estuve probando y me parecio aun mas facil,en cuanto
a instalacion y tener corriendo una demo...
¿cual te pareció mas fácil?

No digo que otros no sean buenos, solo cuento mi experiencia para
largarme a desarrollar.
Postergué todo lo que pude la decisión de cual elegir, pero tenía que
mandarme de lleno a partir de un punto. Y son muchos los factores que
influyen, la documentación, la instalación, la comunidad... que se yo.
Ya comenté en este hilo un poco ese proceso.

De todos modos soy un aprendiz, pero estoy teniendo resultados y cada
dia confirmo que la decision fue buena.

Claro, es una cuestion personal.

Agrego como dato que antes nunca hice nada en la web, con lo cual
estoy aprendiendo todo a la vez. Y no tengo mayores problemas.

Saludjangos!
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 20:09:37 UTC
Permalink
Post by unknown
Post by unknown
En q parte Hernan? ayer estuve probando y me parecio aun mas facil,en
cuanto
Post by unknown
a instalacion y tener corriendo una demo...
¿cual te pareció mas fácil?
TG, pero me refiero a la instalacion y hacer un form chiquito...
Post by unknown
No digo que otros no sean buenos, solo cuento mi experiencia para
largarme a desarrollar.
Postergué todo lo que pude la decisión de cual elegir, pero tenía que
mandarme de lleno a partir de un punto. Y son muchos los factores que
influyen, la documentación, la instalación, la comunidad... que se yo.
Ya comenté en este hilo un poco ese proceso.
De todos modos soy un aprendiz, pero estoy teniendo resultados y cada
dia confirmo que la decision fue buena.
Claro, es una cuestion personal.
Agrego como dato que antes nunca hice nada en la web, con lo cual
estoy aprendiendo todo a la vez. Y no tengo mayores problemas.
Saludjangos!
Es q por eso precisamente me interesa tus Por ques.. ya q toy en las
mismas.. yo no he hecho nada en web con Python, pero si bastante con PHP y
Joomla.
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-01 00:26:08 UTC
Permalink
Post by unknown
Es q por eso precisamente me interesa tus Por ques.. ya q toy en las
mismas.. yo no he hecho nada en web con Python, pero si bastante con PHP y
Joomla.
Creo que en este hilo se han expuesto los pros y contras de los distintos
frameworks que hay en python. La mayoría de estos frameworks están pensados
para iniciar un proyecto desde cero, desde el modelo de datos hasta llegar a
la capa de presentación. Si ya tienes creada una aplicación y definido el
modelo de datos, te costará adaptarla a alguno de estos frameworks. Como bien
te han sugerido, sqlalchemy es el que mejor puede mapear un modelo de datos
arbitrario, así que tenlo en cuenta en tu elección.

Por otro lado, tal vez quieras instalar varias aplicaciones web en el mismo
servidor, compartiendo bases de datos y todo compartiendo los mismos perfiles
de usuario. En este caso el sistema zope facilita bastante las cosas. Resulta
ideal para crear aplicación cliente-servidor, donde el cliente puede ser web
o una interface gráfica.

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).

Por último, diré qué lo que estoy usando ahora mismo no tiene nada que ver con
todo lo visto: jython. Necesito captar datos de diversos SGBDs, cada uno con
distintas tecnologías. Ya no es sólo que el modelo esté fijado de antemano,
es que está distribuido y es heterogéneo. Con jython, a través de JDBCs, no
es necesario instalar todos los clientes de acceso a datos. Con jython se
pueden crear servlets y ficheros jsp para contenedores como tomcat, empleando
las mismas herramientas que se usan para java (eg: eclipse); así mismo, con
tomcat es bastante rápido desplegar aplicaciones y administrar perfiles de
usuarios. En fin, una alternativa como cualquier otra.

Siento mucho que no te podamos dar un claro ganador, ya que todos son buenos,
cada uno en su estilo. Viniendo de PHP, todos te resultarán complicados al
principio. Empieza con alguno que siga el WSGI (http://www.wsgi.org/wsgi).

Un enlace que te puede ayudar (o liar) más:
http://bitworking.org/news/Why_so_many_Python_web_frameworks

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.python.org/pipermail/python-es/attachments/20080801/68cf1227/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-12 15:31:12 UTC
Permalink
Buenas:

La respuesta viene un poco tarde, cosas de las vacaciones :-)
¡
Post by unknown
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

unknown
2008-08-03 04:01:05 UTC
Permalink
Hola Hernan:
Yo también creo que django es muy bueno. Para mi por ahora va ganando para
mi projecto final de tesis. No he leído nada de web2py.
Ahora, se ha hablado mucho de SQLAlquemy como ORM, y me pregunto si se puede
juntar con django. Si saben algo...
Hablando de ORM, solo tengo una experiencia limitadísisimima con el de
django y tengo otra duda: por ejemplo he visto que para obtener una lista de
ciertos campos de una DB se invocan los métodos de "objects" del ORM y con
los slices de python se controla que parte de la lista retornada por la DB
nos interesa. Sin embargo, no sé si se pueda usar directamente lenguanje SQL
para usar sus instrucciones como LIMIT y OFFSET para lo mismo y no sé cual
sería más eficiente? Me pueden decir.
Saludos.



-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En
nombre de Hernan Olivera
Enviado el: jueves, 31 de julio de 2008 16:07
Para: Lista de discusión sobre python en castellano
Asunto: Re: [Python-es] Web Frameworks
Post by unknown
En q parte Hernan? ayer estuve probando y me parecio aun mas facil,en cuanto
a instalacion y tener corriendo una demo...
¿cual te pareció mas fácil?

No digo que otros no sean buenos, solo cuento mi experiencia para
largarme a desarrollar.
Postergué todo lo que pude la decisión de cual elegir, pero tenía que
mandarme de lleno a partir de un punto. Y son muchos los factores que
influyen, la documentación, la instalación, la comunidad... que se yo.
Ya comenté en este hilo un poco ese proceso.

De todos modos soy un aprendiz, pero estoy teniendo resultados y cada
dia confirmo que la decision fue buena.

Claro, es una cuestion personal.

Agrego como dato que antes nunca hice nada en la web, con lo cual
estoy aprendiendo todo a la vez. Y no tengo mayores problemas.

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

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 06:48:48 UTC
Permalink
El 3 de agosto de 2008 0:01, Otto Machado<ottomachado en infomed.sld.cu>
Post by unknown
Yo también creo que django es muy bueno. Para mi por ahora va ganando para
mi projecto final de tesis. No he leído nada de web2py.
Ahora, se ha hablado mucho de SQLAlquemy como ORM, y me pregunto si se puede
juntar con django. Si saben algo...
Hola,

Yo estoy usando SQLAlquemy con django para solventar una deficiencia de
éste: sólo permite acceso a una única base de datos por proyecto. Para
conectar con varias DBs he tenido que pasarme al ORM de SQLAlchemy

http://lethain.com/entry/2008/jul/23/replacing-django-s-orm-with-sqlalchemy/


Saludos,
Jose
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 09:59:35 UTC
Permalink
Post by unknown
Yo también creo que django es muy bueno. Para mi por ahora va ganando para
mi projecto final de tesis. No he leído nada de web2py.
Ahora, se ha hablado mucho de SQLAlquemy como ORM, y me pregunto si se puede
juntar con django. Si saben algo...
Poder se puede. En el trabajo tenemos una aplicación Django en la que
usamos SQLAlchemy para ciertas operaciones. Sin embargo, te quedas sin
interfaz de administración para los objetos que gestiona SA por lo que,
IMHO, el valor de añadido que da Django frente a la competencia se queda
en cero.

Por cierto, he oido por ahí que alguien está trabajando en un interfaz
de administración similar a Django admin pero sobre SQLAlchemy
utilizable en cualquier web framework de Python que entienda WSGI.
Todavía no está ni en alpha pero el desarrollo va bastante rápido y ya
se han unido algunos desarrolladores interesados. Les dejo que googleen
si les interesa... ;)
Post by unknown
Hablando de ORM, solo tengo una experiencia limitadísisimima con el de
django y tengo otra duda: por ejemplo he visto que para obtener una lista de
ciertos campos de una DB se invocan los métodos de "objects" del ORM y con
los slices de python se controla que parte de la lista retornada por la DB
nos interesa. Sin embargo, no sé si se pueda usar directamente lenguanje SQL
para usar sus instrucciones como LIMIT y OFFSET para lo mismo y no sé cual
sería más eficiente? Me pueden decir.
SQLAlchemy sobrecarga __getitem__ y __getslice__ del objeto Query (el qe
se usa para aplicar filtros, joins, etc...) para añadir los parámetros
OFFSET y LIMIT automaticamente al query. Es decir, la sintaxis se queda
bonita y el query se genera eficiente. No sé exactamente lo que hace el
ORM de Django aunque me imagino que algo similar.

Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 11:41:34 UTC
Permalink
Post by unknown
El 31 de julio de 2008 13:40, Otto Machado<ottomachado en infomed.sld.cu>
Post by unknown
He seguido el hilo en silencio, pero sin embargo todavía tengo la duda de
cual será el mejor FW para mi tesis. Es un gran projecto que tiene una
fuerte dependencia con PostgreSQL. Sucede que estado trabajando con CherryPy
pero no me gusta del todo. He leído algo de Django, pero es una complicación
trabajar con su ORM, sobre todo cuando hay que hacer cambios en la
estructura de la BD (y tendre que hacerlo continuamente, pues se piensa en
la futura inclusión de nuevas tablas, etc). Me pregunto si Web2Py será
mejor, o si ambos (django y web2py) soportan trabajar con SQLAlquemy (que
según he leído aquí esta muy bueno, no?). Por favor díganme que creen.
Saludos, sandor
Y yo sigo en las mismas... tambien estoy entre Pylons, web2py y no se q
tanto mas q se ha mencionado... :D
Alguien se anima a recomendar alguno?
Vale me voy a mojar... a riesgo de emocionarme y que luego me caigan
collejas por todas partes :). Primero mencionar que he trabajado (en
proyectos por los que cobraba, no siguiendo tutoriales...) con unos
cuantos frameworks python: turbogears 1, web.py, pylons, django,
cherrypy 2 y 3 y varios en los que no he usado ningún framework sino
librerías sueltas (webob, routes, sqlalchemy, genshi...).

El que más me ha gustado es sin duda Pylons ya que trae lo justo para no
tener que escribir demasiada infraestructura pero no toma demasiadas
decisiones por ti. Es decir, puedes usarlo con el sistema de plantillas
que más te guste, con el ORM que más te guste, etc... También sigue la
filosofía de turbogears en cuanto a no reinventar la rueda y reutilizar
librerías existentes, es más, los componentes que han tenido que
escribir (por ejemplo Routes o WebError) los distribuyen como paquetes
independientes de Pylons para que se puedan reutilizar facilmente. Por
cierto, tiene el mejor depurador integrado en web (WebError) que he
visto. En el que incluso puedes evaluar código en cada frame de un
traceback para indagar que es lo que ocurre (funcionalidad que hecho
mucho de menos todos los días trabajando con Django :( )

La prinicpal desventaja es que no es bueno para empezar. Necesitas saber
algo de tecnología web y python para poder empezar a usarlo y
apreciarlo. No por nada especial que tenga su diseño, sino porque la
documentación que hay (por ciero, va a salir un libro dentro de poco,
googlear que hay un draft público por ahí) no va enfocada a
principiantes, es decir, presupone que sabes la diferencia entre un
GET/POST, que es una cookie, para que sirve, que es una sesión, como es
el ciclo de un request... A ellos le gusta decir que es un framework
hecho por hackers para hackers ;)

La arquitectura es muy buena ya que cada aplicación es una instancia en
vez de un singleton global (¡chupate esa django/tg1! ;) por lo que
puedes tener varias aplicaciones WSGI *enteras* (es decir, las puedes
testear o montar por separado ya que también funcionán) conviviedo en el
mismo proceso con distintas configuraciones, incluso de la misma
aplicación. Ésto me ha salvado el pelo en una ocasión en la que el
cliente pidió poder dar acceso a una aplicación existente a varios
clientes suyos pero cada uno con un diseño ligeramente distinto y acceso
a una base de datos distinta. Tengo entendido que zope también comparte
este rasgo. También permite montar cualquier aplicación WSGI *dentro*
del contexto de la aplicación Pylons. Por ejemplo, en toscawidgets.org
tengo montados dentro de una aplicación Pylons varios Tracs y Mercurial,
al estar dentro del contexto de la aplicación que los envuelve todo el
site comparte autentificación (tanto digest como por formulario/cookie)
y theming.

Por cierto, bittorrent.com y reddit.com (dos sitios con mucho tráfico)
están construidos sobre Pylons, vamos, que es un framework "serio" que
puede atender a muchas visitas ;)

Otra opción que pronto (cuando salga de alpha) te recomendaría sin
reservas es TurboGears 2. Esta construida sobre Pylons pero la filosofía
es tomar varias decisiones por ti para que puedas arrancar más rápido y
enfocar la docuementación a principiantes, pero sin impedir que puedas
"tunearlo" como podrías hacer con Pylons a secas. Por ejemplo, usamos
SQLAlchemy como ORM oficial y Genshi como sistema de plantillas (este
ultimo facilmente intercambiable por mako o jinja si te gustan más).
También estamos reutilizando varias tecnologías de Zope (transacciones
con two-phase-commit, autentificación extensible, etc...) que los chicos
de repoze estan molestandose en desacoplar de la bestia parda... Se
puede decir que Pylons es a Debian lo que TurboGears 2 es a Ubuntu, má o
meno...

web.py también me gustó mucho por su minimalismo. Es el lo más parecido
que he visto en python a php en el sentido de que para hacer algo
sencillo muy rápido no tienes que aprender las idiosincracias de todo un
framework. Si no consigues aprenderlo en una tarde deberías cambiar de
profesión... ;) Sin embargo, tuve que hacer un proyecto para ellos en el
GSoC del año pasado y sí que eché de menos muchas cosas de un framework
(scripts para deploy, logging, shell interactivo, ORM etc...) que acabe
reimplementando yo solito con las perdida de tiempo que conlleva.

cherrypy, me gusta su minimalismo pero me desagrada enormemente como
mapea urls a arboles de objetos ya que te dicta la organización interna
del código en función del interfaz externo (los urls). CherryPy 3 es un
muy buen mini-framework (para quien le guste sus dispatch) e incluye un
servidor web HTTP/WSGI muy bueno (que reutiliza, err, copia en su tronco
web2py por ejemplo)

tubogears 1 me gustó mucho, hace tiempo, aunque ya no lo uso apenas
salvo en aplicaciones que hay que mantener. Me he pasado a pylons para
casi todo. Una cosa que hace muy bien es la negociación de contenido: En
TG1 los controladores suelen devolver un diccionario con datos que luego
TG, en función de las cabeceras del cliente y alguna cosa más, envía a
una plantilla para generar HTML o XML o convierte a JSON. Esto permite
ahorrar bastante codigo ya que la lógica del controlador es la misma
para cada tipo de salida. Lo que no me gusta es su arquitectura de una
aplicación como singleton por cada proceso.

Django. Voy a ser sincero. No me gusta, nada, aunque seguramente sea por
motivos más viscerales que otra cosa... trabajo con el a diario. Aquí va
un rant argumentado:

- el lenguaje de plantillas me parece horrible, por el simple hecho de
no permitir expresiones. Sé como lo justifican en la documentación (y
repiten mecanicamente todos a los que dialecticamete me he enfrentado
por el tema): "No es bueno mezclar lógica y presentación", "Si quieres
un lenguaje potente de plantillas pasate a PHP", y burradas por el
estilo. La cuestión es que *es* necesaria cierta lógica para la
presentación: bucles para hacer listas/tablas, formateo de fechas,
textos, etc... y no me gusta tener que ir a la docuementación, o saturar
aun más mi escasa memoria, para ver que maldito filtro "emula"
itertools.groupby, o datetime.strftime, etc... Me parece antipythonico
que me quieran cortar las alas argumentando que es por mi bien, para que
no hagas consultas a la bbdd desde la plantilla y cosas por el estilo...
gracias pero soy mayorcito. Al final, tener un lenguaje de plantillas
capado te fuerza a mover toda la lógica a los "views" y tener que
escribir uno distinto para cada tipo de salida. Me gusta mucho más como
hace ésto TG: el controlador manda un diccionario con *datos* y luego
cada vista (que se corresponde a la plantilla) los magrea como vea
necesario para presentarlos (en XML, HTML, JSON, RSS,...)

- El orm. No está mal para modelos sencillos, pero me parece ridículo
seguir pintando a la mona cuando SQLAlchemy está años luz y se escapa
rápido. ¿Para cuando el multi-db, two-phase-commit, sharding, llaves
primarias no numéricas, llaves compuestas, unicode por defecto, etc...?
SQLAlchemy ya lo tiene desde hace tiempo y la comunidad alrededor es
enorme. ¿No sería más fácil adaptar el API de metadatos que genera el
Admin y tener a SA under-the-hood? ¡No por dios! ¡Eso es reutilizar
código de terceros! ;)

- No es multihilo. El GIL no es excusa: la mayor parte del tiempo de una
petición web transcurre en la base de datos y casi todos los drivers
están escritos en C y liberan el GIL cuando la aplicación espera el
resultado de una consulta. Hemos comprobado empiricamente que el mejor
rendimiento de una webapp python en una sóla máquina multi-core se
obtinene con una mezcla de varios procesos con varios hilos cada uno. No
estoy defendiendo esta arquitectura frente a arqutecturas asíncronas,
sencillamente que el modelo de concurrencia que tiene django sí se
presta a multithreading y si no lo tiene es por... me reservo la
especulaciones.

- Pero mi queja principal (a nivel filosófico, no pgragmatico) es la
poca disposición, que percibo, en su comunidad de desarrolladores por
trabajar con el resto de la comunidad webdev python. Al parecer Django
*es* la comunidad webdev python y ni siquiera el sabio abuelo zope
existe, desgraciadamente esta actitud transpira a los usuarios
primerizos que se ven privados por su propia decisión del mundo que hay
fuera de sus jardines... sigh. Compara esta actitud con los de Zope, que
está trabajando en desacoplar su tecnología para que los demás la
podamos reutilizar, or Pylons, que directamente escribe sus componentes
como piezas sueltas con los que en una tarde te puedes escribir tu
propio framework.

(Ya acabé, pido disculpas a los fans de Django por adelantado,
necesitaba descargarme... lo sufro a diario :)

- web2py. No lo he usado pero me contrataron hace un tiempo para
evaluarlo para un proyecto (leyendo las fuentes y escribiendo algunas
aplicaciones de jueguete). No necesité leer más de 3 módulos... Lo malo
de Django (reinventarlo todo en un bloque monolítico, aderezado con
grandes dosis de marketing) sin las ventajas (código precioso, bien
comentado). No lo recomiendo.

Si sigues considerando como opciones sólo a Django y web2py no te lo
pienses: Django. No hay color. Si no me crees haz este experimento: Coge
dos módulos al azar de cada uno, (leete la cabecera no vaya a ser un
módulo externo integrado, si lo es coge otro), y compara el aspecto
estético del código, luego los docstrings, luego los comentaros... mira
a ver si tiene unittests, cuantos...

Espero que te sirva de algo,
Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 14:32:35 UTC
Permalink
Brillante. Hace casi un año que vengo leyendo todas las comparaciones
y evaluaciones que hay en la web sobre el tema, y hasta ahora no había
leído nada tan detallado y fundamentado.

Saludos

PD: ¿y porque sera que GvR habla tan bien de Django?

El día 3 de agosto de 2008 8:41, Alberto Valverde <alberto en toscat.net> escribió:
(...)
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 15:32:37 UTC
Permalink
Está claro que como ORM SQLAlchemy es lo mejor. Hay un branch de
Django tratando de integrarlo, y de hecho es posible reemplazarlo
sacrificando el admin.

Me considero un aprendiz en la web (no en informática :-)) y releyendo
los ultimos dos posts, que no tienen desperdicio, estuve revisando mis
criterios de decisión.

Elegí Django creo que basicamente porque siendo nuevo en esta
tecnología me dió mas seguridad de poder abarcar lo necesario,
justamente por ser un unico desarrollo, (aunque verdaderamente la
filosofia SL tiene mas que ver con usar lo existente), y por
encontrarme mas comodo con su documentación, lo cual ademas me daba
argumentos mas solidos para motivar a la gente del equipo ("en estas
dos carpetas esta todo lo necesario") que tiene que aprender esta
nueva tecnología.
Confieso que me sigue atrayendo mas la idea de usar lo mejor de cada
cosa, pero estimo que la curva de aprendizaje debe ser mejor en un
framework que tiene un estilo consistente. Me vi a mi mismo tratando
de aprender todo lo necesario para usar TG, y creo que en algun
momento lo voy a hacer, pero me resultaba dificil de acotar el
esfuerzo. En mi caso tenía que elegir una tecnología para renovar un
equipo de trabajo que desarrolla los sistemas internos de una
organización (hasta ahora con vb6! y MSSQL). Inicialmente mi mejor
candidato era TG, y sus cambios me generaron desconfianza. Por eso me
pasé a ver Zope, que me pareció extramadamente complejo.
Mi unica duda era si Django se quedaba chico en algo. Las aplicaciones
que voy a reemplazar son basicamente administrativas internas, que en
algun momento se abriran a la web y la idea es eliminar todo lo que no
sea SL, y reciclar al equipo de trabajo rescatandolo de las garras de
M$.

Resumiendo, la conclusión a la que llegué es que probablemente sea mas
facil para un equipo de trabajo empezar con web frameworks con python
usando Django, y cuando se quede chico (si sucede), si es que pasa,
pasar a otra cosa.

Sí lamento no usar SQLAlchemy, por ahora.

Me gustaría saber si los mas experimentados por aquí comparten esta lectura.

Saludos
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 15:42:00 UTC
Permalink
Post by unknown
PD: ¿y porque sera que GvR habla tan bien de Django?
Porque cuando GvR hizo pública su preferencia, no sólo evaluó una serie
de características técnicas. Tomaba en cuenta la licencia, la documentación,
los líderes del proyecto, el grupo de desarrolladores, cuántos usarios
tenía,
el nivel de calidad del código, etc. Habiendo trabajado casi 3 años en Zope
que lo haya descartado es sintomático. Además, como hecho curioso, Guido
odiaba usar XML como lenguaje de plantillas (lo que no deja de ser
llamativo,
siendo uno de los autores de TAL).

También hay que tener en cuenta el momento en que lo hizo público.
Fue hace dos años y medio, a principios del 2006, apenas un par de meses
después de haber ingresado en Google. Necesitaba un framework para
desarrollar un proyecto interno (lo que hoy se conoce como Mondrian, que
es propietario, y el spin-off Rietvield, que es codigo abierto)
Tampoco creo que sea coincidencia que GAE incluya Django como uno
de los framework que soporta.

-H.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 15:42:31 UTC
Permalink
Alberto:
Primero que todo gracias por la disertación y la valentía de exponer tus
criterios abiertamente y con respeto (siempre debería ser así, shouldn't?).
Yo todavía no tengo nada decidido, lo que sucede es que cuando lo haga no
habrá vuelta atrás. Tengo el mes de agosto para estudiar opciones. Según lo
que pude ver, aparentemente recomiendas mucho Pylons, no?
La aplicación que desarrollare tendrá montones de formularios (es una
herramienta grande y compleja para gestionar la configuración de un
dispositivo de interconexión de backbone para redes ip) y te hablaba de
django porque vi que tenia funcionalidades para trabajar con formularios,
validarlos, etc, pero no se si esa funcionalidades se pierden si se cambia
el ORM.
No se si Pylons incluya estas cosas (tengo que estudiar).
Gracias



****************************************************************************
*
Vale me voy a mojar... a riesgo de emocionarme y que luego me caigan
collejas por todas partes :). Primero mencionar que he trabajado (en
proyectos por los que cobraba, no siguiendo tutoriales...) con unos
cuantos frameworks python: turbogears 1, web.py, pylons, django,
cherrypy 2 y 3 y varios en los que no he usado ningún framework sino
librerías sueltas (webob, routes, sqlalchemy, genshi...).

El que más me ha gustado es sin duda Pylons ya que trae lo justo para no
tener que escribir demasiada infraestructura pero no toma demasiadas
decisiones por ti. Es decir, puedes usarlo con el sistema de
plantillas...........

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 18:19:00 UTC
Permalink
Post by unknown
Primero que todo gracias por la disertación y la valentía de exponer tus
criterios abiertamente y con respeto (siempre debería ser así, shouldn't?).
Yo todavía no tengo nada decidido, lo que sucede es que cuando lo haga no
habrá vuelta atrás.
Uff, eso suena muy tremendo... "Nunca digas de este agua no beberé" ;)
Post by unknown
Tengo el mes de agosto para estudiar opciones. Según lo
que pude ver, aparentemente recomiendas mucho Pylons, no?
Correcto. Pero también depende... para ciertas cosas está claro que
Django va a dar mejores resultados y más rápido (siempre que puedas
aprovechar el Admin)
Post by unknown
La aplicación que desarrollare tendrá montones de formularios (es una
herramienta grande y compleja para gestionar la configuración de un
dispositivo de interconexión de backbone para redes ip) y te hablaba de
django porque vi que tenia funcionalidades para trabajar con formularios,
validarlos, etc, pero no se si esa funcionalidades se pierden si se cambia
el ORM.
Sí, la generación automática de formularios de django está ligada al
ORM. Puedes crearlos con los newforms a mano para sqlalchemy o lo que
sea, pero el Admin desaparece.
Post by unknown
No se si Pylons incluya estas cosas (tengo que estudiar).
Pylons incluye webhelpers que es una librería con utilidades varias para
generar html: generadoes de etiquetas para formularios, etc.. que te
permite hacerlos "a mano" bastante rápido. Para validar está FormEncode
que a mí me gusta mucho. No he usado webhelpers nunca pero es lo que más
utilizán los de Pylons. Yo suelo utilizar tw.forms ya que escribí gran
parte de ella que también usa FormEncode para validar. tw.forms está
pensada sobre todo para generar formularios programaticamente aunque no
incluye nada para inspeccionar modelos. Para ésto está Rum...

... que es en lo que ahora estoy trabajando, un generador automático de
interfaz CRUD (Create Retrieve Update Delete) con arquitectura REST para
modelos SQLAlchemy inicialmente. Está diseñado para se extensible a otro
tipo de modelos (en concreto, hay alguien interesado en hacer un
adaptador para ZODB) y se puede usar sólo (conectado por WSGI a un
servidor), dentro de TG2, Pylons o cualquier framework que pueda pasar
el control a una aplicación WSGI, o "al lado" de cualquier framework que
se pueda conectar a un servidor WSGI (casi todos: django, tg1, ...).

Todavía no está ni en alpha y tardará un par de meses en ser realmente
usable pero va tomando buena forma :) Se supone que tendrá ajax (con
dojo) y todas esa "campanitas y silbatos" ;) Bueno, si te interesa hay
una demo de lo que hay hasta ahora (un pelín desactualizada) en
http://rumdemo.toscawidgets.org/ dónde hay enlaces al código y lista de
correo. Aunque lo dicho, le queda tiempo para ser usable realmente en
producción (menos quedará si te animas a contribuir ;) Ah, lo está
patrocinando Google con el Summer of Code para Turbogears y tiene
licencia MIT, o sea, que si me pasa algo espero que alguien de TG o
alrededores lo retome ;)

Saludos,
Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-04 01:34:31 UTC
Permalink
Holas,

Bueno no soy novato en desarrollo Web, vengo trabajando con PHP hace años...
pero yo no tengo un mes para decidir como el amigo Otto, sino este fin de
semana!! :D y tambien estoy en las mismas, una vez decidido el rumbo ya no
puedo dar marcha atras....

Como decia al trabajar en PHP lo hacia con Joomla y me resolvia todo para
cualquier aplicacion web, incluso alguna de contabilidad.

La verdad ya no tengo tiempo para seguir evaluando todos las aplicaciones q
tan gentilmente han nombrado en este hilo (si lo voy a hacer para el proximo
trabajo)

Mi pregunta para las personas q ya tienen tiempo usando Python para web, si
podrian decirme cual tiene las mismas o similares facilidades q las q
encuentro con PHP-Joomla:

- facilidad de instalacion, no indispensable pues el hosting se encarga..
- ORMs propio o externo (aunque sobre este punto la tengo clara= SQLAlchemy
es el ganador!)
- sistema de plantillas
- manejo de XML
- forms
- validaciones
- templates
- sesiones
- etc

dado q en PHP me viene todo esto y no tengo q andar preocupandome por buscar
una lib q haga cada cosa.

Basicamente para acortar el espectro a analizar, q en Python en inmenso!!

Muchas gracias a todos pues de verdad q he aprendido muchisimo en estos dias
sobre Python en web, me parece q PHP la va a ver negras muy pronto... ;D
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Pe
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-04 12:10:35 UTC
Permalink
Post by unknown
Holas,
Bueno no soy novato en desarrollo Web, vengo trabajando con PHP hace años...
pero yo no tengo un mes para decidir como el amigo Otto, sino este fin de
semana!! :D y tambien estoy en las mismas, una vez decidido el rumbo ya no
puedo dar marcha atras....
Es muy poco tiempo para tomar una decisión informada. Te recomiendaría que
hagas una aplicación de jueguete, un tutorial por ejemplo, con unos
cuantos y decidas después de haberte ensuciado un poco las manos cual te
"entra" mejor. Si de veras no hay tiempo casi mejor ve buscando un dado...
;)
Post by unknown
Como decia al trabajar en PHP lo hacia con Joomla y me resolvia todo para
cualquier aplicacion web, incluso alguna de contabilidad.
La verdad ya no tengo tiempo para seguir evaluando todos las aplicaciones q
tan gentilmente han nombrado en este hilo (si lo voy a hacer para el proximo
trabajo)
Mi pregunta para las personas q ya tienen tiempo usando Python para web, si
podrian decirme cual tiene las mismas o similares facilidades q las q
- facilidad de instalacion, no indispensable pues el hosting se encarga..
- ORMs propio o externo (aunque sobre este punto la tengo clara= SQLAlchemy
es el ganador!)
- sistema de plantillas
- manejo de XML
- forms
- validaciones
- templates
- sesiones
- etc
Ésto es como preguntar: quiero un coche que tenga ruedas, volante, pedales
y asientos... ;) Todos, o casi todos, los frameworks web python tienen
algo para hacer lo que has pedido pues es lo más básico: zope, django,
tg1, tg2, pylons, web.py... (cherrypy no trae todo, eg forms y validación,
pero lo puedes integrar facilmente). De instalar a mi me parecen todos
fáciles ya que el interfaz para enchufarlos a un servidor es el mismo:
WSGI. Hay un adaptdador mod_python a WSGI y fastcgi a WSGI que, uno u
otro, tiene cualquier hosting que soporte python o rails. Ya puestos si
quieres te recomiendo uno en el que trabajan mucho con python y saben lo
que hacen: Webfaction.

Siento dejarte igual de confuso pero intento informarte lo más
imparcialmente posible. Si quieres una opinión mia: Pylons o TurboGears 2

Alberto

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-04 14:00:10 UTC
Permalink
Post by unknown
Mi pregunta para las personas q ya tienen tiempo usando Python para web, si
podrian decirme cual tiene las mismas o similares facilidades q las q
[...]
¡Haber empezado por ahí! En python destaca claramente Plone, un CMS
basado en zope:

http://plone.org

Aunque ya sea tarde, deberías echarle un vistazo, aunque sólo sean los vídeos.


También tienes a tu disposición la lista hermana a ésta donde poder
hacer tus consultas sobre plone y zope:

http://listas.aditel.org/listinfo/zope-es
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-04 14:28:54 UTC
Permalink
Post by unknown
Post by unknown
Mi pregunta para las personas q ya tienen tiempo usando Python para web,
si
Post by unknown
podrian decirme cual tiene las mismas o similares facilidades q las q
[...]
¡Haber empezado por ahí! En python destaca claramente Plone, un CMS
http://plone.org
Aunque ya sea tarde, deberías echarle un vistazo, aunque sólo sean los vídeos.
También tienes a tu disposición la lista hermana a ésta donde poder
http://listas.aditel.org/listinfo/zope-es
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Hola Chema,

Gracias por los consejos.. ya estoy por salir a comprar los dados :D

Bueno en realidad lo q tengo q decidir esta semana son los candidatos y
todos estos dias ensuciarme las manos (como bien dices) con los prototipos.

En cuanto a Plone voy a revizarlo de primera mano.. pero sabes si puedo
montar sobre el cualquier tipo de aplicacion web? templates complejos,
flash, etc.. xq tengo q desarrollar una aplicacion contable.

Gracias!
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-04 16:06:31 UTC
Permalink
Post by unknown
En cuanto a Plone voy a revizarlo de primera mano.. pero sabes si puedo
montar sobre el cualquier tipo de aplicacion web? templates complejos,
flash, etc.. xq tengo q desarrollar una aplicacion contable.
Plone es muy potente y puedes hacer cualquier aplicación. Eso sí, está
muy orientado como CMS, por lo que hay tareas que son muy sencillas,
como crear nuevos tipos de contenidos, tipo documentos, articulos, etc
via ArcheTypes, pero no tan sencillo para otro tipo de aplicaciones...
ya que todo se estructura en el sentido de un CMS.

Evalua los requisitos de tu aplicación contable, por que puede que te
sea más sencillo con un framework más ligero (django, pylons, etc..)

Un saludo.
Post by unknown
Gracias!
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-04 16:29:05 UTC
Permalink
El 4 de agosto de 2008 11:06, Antonio Beamud Montero<
Post by unknown
Post by unknown
En cuanto a Plone voy a revizarlo de primera mano.. pero sabes si puedo
montar sobre el cualquier tipo de aplicacion web? templates complejos,
flash, etc.. xq tengo q desarrollar una aplicacion contable.
Plone es muy potente y puedes hacer cualquier aplicación. Eso sí, está
muy orientado como CMS, por lo que hay tareas que son muy sencillas,
como crear nuevos tipos de contenidos, tipo documentos, articulos, etc
via ArcheTypes, pero no tan sencillo para otro tipo de aplicaciones...
ya que todo se estructura en el sentido de un CMS.
Evalua los requisitos de tu aplicación contable, por que puede que te
sea más sencillo con un framework más ligero (django, pylons, etc..)
Un saludo.
Post by unknown
Gracias!
Bueno con Joomla, podria manejarlo muy bien, puesto q los forms y demas se
pueden crear desde el administrator o todo a pelo.

Lo q pasa q la App contable ya esta hecha en Python, y lo q se quiere q
parte de ella se levante a web, por lo q quiero hacerlo en algun FW para
Python, para no tener q reprogramar toda la logica de negocios de nuevo.

A proposito esta hecha con wxPython la App contable, hay algun FW q trabaje
con esa lib en web? ( o ya dije una tonteria??)

Gracias
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-05 00:32:01 UTC
Permalink
Post by unknown
A proposito esta hecha con wxPython la App contable, hay algun FW q trabaje
con esa lib en web? ( o ya dije una tonteria??)
No es una tontería. Fue una de las sugerencias para los Summers of
Code de Google llamada wxWeb: "Write a wxWidgets port that allows a
wxWidgets application to display and take input on a web browser, with
the program executing in another machine. This can use a combination
of forms for text-based windows, and (perhaps) a Java applet to handle
more graphical elements". No llegó a completarse, así que tendrás que
buscar otra cosa de momento.

Si no tenías separado correctamente la lógica de negocio de la
presentación, hacerlo ahora puede ser más costoso que volverlo a
rehacer todo. Una posibilidad para aprovechar tu aplicación sería
añadir servicios web (soap, xmlrpc) y recrear el interface en web.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-05 15:20:01 UTC
Permalink
Post by unknown
Post by unknown
A proposito esta hecha con wxPython la App contable, hay algun FW q
trabaje
Post by unknown
con esa lib en web? ( o ya dije una tonteria??)
No es una tontería. Fue una de las sugerencias para los Summers of
Code de Google llamada wxWeb: "Write a wxWidgets port that allows a
wxWidgets application to display and take input on a web browser, with
the program executing in another machine. This can use a combination
of forms for text-based windows, and (perhaps) a Java applet to handle
more graphical elements". No llegó a completarse, así que tendrás que
buscar otra cosa de momento.
Si no tenías separado correctamente la lógica de negocio de la
presentación, hacerlo ahora puede ser más costoso que volverlo a
rehacer todo. Una posibilidad para aprovechar tu aplicación sería
añadir servicios web (soap, xmlrpc) y recrear el interface en web.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Hola,

Mira q al enterarme del cambio pense hacer el web en PHP5 + webservices
rehaciendo los forms... (q es una alternativa) pero solo por la facilidad de
despliegue q esta solucion me da. La logica esta bien dividida (yo la hice!!
;-) ) y es precisamente por eso q queria aprovecharla para rehusarla y no
tener q recodificar todo en php dado q la insterfaz web va a ser
independiente en muchos aspectos de la version desk.

Voy a seguir leyendo y probando... :(

Gracias!
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 14:28:56 UTC
Permalink
de un reportaje a GvR en
http://www.techworld.com.au/article/255835/-z_programming_languages_python?pp=2

Q: A lot of current software is about writing for the web, and there
are many frameworks such as Django and Zope. What do you think about
current web frameworks based on Python?

GvR: For a few years there were definitely way too many web
frameworks. While new web frameworks still occasionally crop up, the
bar has been set much higher now, and many of the lesser-known
frameworks are disappearing. There's also the merger between
TurboGears and Pylons.

No matter what people say, Django is still my favorite -- not only is
it a pretty darn good web framework that matches my style of
developing, it is also an exemplary example of a good open source
project, run by people who really understand community involvement.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 15:29:53 UTC
Permalink
Post by unknown
de un reportaje a GvR en
http://www.techworld.com.au/article/255835/-z_programming_languages_python?pp=2
Q: A lot of current software is about writing for the web, and there
are many frameworks such as Django and Zope. What do you think about
current web frameworks based on Python?
GvR: For a few years there were definitely way too many web
frameworks. While new web frameworks still occasionally crop up, the
bar has been set much higher now, and many of the lesser-known
frameworks are disappearing. There's also the merger between
TurboGears and Pylons.
Bueno, aquí Guido se ha equivocado: *Nunca* nos hemos planteado fusionar
TG y Pylons. Ni Ben ni James por un lado, ni Kevin ni Mark ni yo por otro.
Sinceramente, no sé a que se debe esta confusión generalizada pero por más
que lo intentamos desmentir sigue sonando el eco... cosas de las dinámicas
de red supongo. Espero no haber cometido una herejía que fuerze mi
destierro por haber desmientiendo al Dictador... ;)
Post by unknown
No matter what people say, Django is still my favorite -- not only is
it a pretty darn good web framework that matches my style of
developing, it is also an exemplary example of a good open source
project, run by people who really understand community involvement.
Ahí no se equivoca. Se podría mejorar en ciertos aspectos, no hay nada
perfecto, pero básicamente estoy totalmente de acuerdo. Pero... Guido
prefiere Django, no es ningún secreto... sinceramente, ¿y? ¿Es un
argumento de peso (a parte de para convencer a algún jefazo)? ¿Debo basar
las decisiones *tecnológicas* de mis proyectos en lo que prefiera Guido?

No me convence, lo siento. Supongo que se debe a que tiendo a intentar
justificar de alguna manera racional las herramientas que uso, eligiendo
lo más pragmaticamente posible la que mejor se adapte al problema en
cuestión.
No me gusta jurarle fidelidad a ningún patrón de cargas en un
semiconductor, ni verme limitado por mi propia decisión de explorar
herramientas alternativas que puede me sirvan mejor.

Como ya he comentado, he usado Django varias veces y no me cuesta
reconocer que para ciertas aplicaciones es la mejor herramienta. Sin
embargo, para otras sencillamente *no* lo es (aunque parezca mentira). Por
ejemplo, he visto y trabajado en varias aplicaciones Django con diseño de
base de datos que me atrevo a bautizar como "made in django", es decir,
con una estructura más enfocada a que quede bonito en el Admin en vez de
una estructura eficiente que te ayude a ahorrar código a base de crear
buenas abstracciones. Gran parte de la culpa se la echo a su ORM pues *por
diseño* (googlea Active Record vs. Data Mapper) no es posible mapear
ciertos esquemas de base de datos. Sí, hay veces que no necesitas más...
pero cuando lo necesites y te veas privado de otras herramientas
sencillamente por no haberlas investigado...no me gustaría heredar tu
webapp ;)

(por cierto, la seguna persona en casi todo lo que escribo no se refiere a
tí en concreto, no es un ataque personal. Es una figura literaria... hmm,
no sé, sé que tiene nombre pero no me acuerdo, soy de ciencias.)

Aunque cueste creer, ni fue el primer framework en python [1] ni es la
panacea que debe sobreponerse a los demás. Es más, si las alternativas
desaparecen bajo su sombra perderemos todos: los que las necesitamos y los
que las necesitan pero no lo saben ;)

Salud,
Alberto

[1] Fue zope, al cual raramente se le muestra el respeto que merece,
mientras ellos miran con cierta curiosidad y asombro como reinventamos una
y otra vez los problemas que ellos ya han resuelto hace tiempo. Cada vez
menos eso sí, por ejemplo, en TG2 estamos integrando bastante de su
infraestructura a medida que la desacoplan (transaction, zope.interface,
repoze.tm, repoze.who...)

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 16:30:45 UTC
Permalink
Hola, gente.
Post by unknown
Mis modelajes de datos son bastante complejos, con
modelos físicos y lógicos, claves subrogadas y tablas dimensionales
que no se pueden modelar con un ORM.
Gran parte de la culpa se la echo a su ORM pues *por
diseño* (googlea Active Record vs. Data Mapper) no es posible mapear
ciertos esquemas de base de datos.
Las preguntas que me surgen son:
¿que cosas NO se pueden hacer con un orm y si en relacional?
¿son limitaciones propias de OO o son de las implementaciones existentes de ORM?
Post by unknown
Sí, hay veces que no necesitas más...
pero cuando lo necesites y te veas privado de otras herramientas
sencillamente por no haberlas investigado...no me gustaría heredar tu
webapp ;)
Justamente esto es lo que me interesa saber (y vengo consultando a las
comunidades)
¿que otras herramientas?
Si me tirás una punta para investigar, mataría.

Creo que como todos me gustaría que si alguien hereda mi trabajo lo disfrute :-)
(Vuelvo a aclarar que soy un aprendiz buscando poner en producción un
wf desde cero)
Post by unknown
(por cierto, la seguna persona en casi todo lo que escribo no se refiere a
tí en concreto, no es un ataque personal. Es una figura literaria... hmm,
no sé, sé que tiene nombre pero no me acuerdo, soy de ciencias.)
Nada personal, está claro. Además no tengo nada que defender, apenas
un mes probando
Django y unos meses de leer informes y comparaciones en la web.

Todavía estoy a tiempo de cambiar de idea.
(Lo que estoy haciendo ahora es apenas una carga de datos y es independiente
del sistema mayor que voy a reemplazar mas adelante.)
Post by unknown
Aunque cueste creer, ni fue el primer framework en python [1] ni es la
panacea que debe sobreponerse a los demás. Es más, si las alternativas
desaparecen bajo su sombra perderemos todos: los que las necesitamos y los
que las necesitan pero no lo saben ;)
Por supuesto, la diversidad es un valor siempre.

Solo sumaba un argumento a favor de Django, y no en contra de nadie.

Por ahora para mí además del marketing favorable, lo único que puedo
decir es que
viendo la documentacion disponible me parece el mas sencillo de abordar.

Lo que mas estoy interesado en saber (insisto) es con qué limitaciones
me puedo llegar a encontrar.

Todo comentario es bienvenido

Saludos
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 20:01:59 UTC
Permalink
Post by unknown
Hola, gente.
Post by unknown
Mis modelajes de datos son bastante complejos, con
modelos físicos y lógicos, claves subrogadas y tablas dimensionales
que no se pueden modelar con un ORM.
¿Con ninguno o con un active record? Me interesaría ver un ejemplo por
curiosidad...
Post by unknown
Post by unknown
Gran parte de la culpa se la echo a su ORM pues *por
diseño* (googlea Active Record vs. Data Mapper) no es posible mapear
ciertos esquemas de base de datos.
¿que cosas NO se pueden hacer con un orm y si en relacional?
La diferencia a la que me refiero no es entre relacional y orm sino
entre los dos tipos de orm principales. Supongo que por relacional te
refieres a SQL "a pelo", no? La diferencia entre usar un orm para
abstraer la base de datos (para "aislar" el código de cambios en la
estructura de la misma, por ejemplo) es enorme. Con sql puedes hacer
todo lo que pueda hacer tu base de datos, con un orm casi siempre no. La
ventaja del ORM es que en los casos en los que lo puedes usar te
simplifica *mucho* el codigo que tienes que escribir e incluso influye
en la arquitectura de la aplicación, normalmente más orientada a objetos
con un ORM (a menos que reimplementes una variaciñon casera de un orm,
claro). ¿Cuál es mejor? Depende. Si la aplicación consiste en una página
con un formulario que hace consultas a una vista compleja de una base de
datos en la que no podemos influir sobre su diseño entonces no hace
falta un ORM. En cuanto el modelo de de dominio empiece a complicarse, a
dispararse las relaciones entre tablas... y queremos hacer un diseño
orientado a objetos entonces un ORM empieza tener ventaja a la hora de
simplificar el diseño de la aplicación

Pero no es a ésta diferencia a la que me refería sino a la diferencia
entre el diseño de distintos ORM. Hay dos tipos principales, los que
implementan alguna variación del patrón active record [1] (django,
sqlobject, RoR...) o los que implementan alguna variación del data
mapper [2] (sqlalchemy, hibernate (java),...). Mejor leete los enlaces,
pero brevemente:

La diferencia principal es que AR mapea cada tabla directamente a una
clase y la lógica de persistencia esta implementada en una superclase
del modeo mientras que en el DM hay una capa llamada "mapper", que se
encarga de la persistencia, entre la base de datos y el modelo de
dominio. En el DM en vez de mapear tablas mapeas relaciones, es decir,
una clase no tiene porqué corresponderse a una sola tabla sino que puede
ser el resultado de cualquier SELECT por complejo que sea.

Pongamos que es una vista implementada en la aplicación, lo cual tiene
sus ventajas: por ejemplo, tienes más flexibilidad a la hora de diseñar
el modelo mientras mantienes una estructura eficiente en la base de
datos, cierta independencia entre bases de datos (al no tener que usar
vistas)... Un ejemplo (con SA, que es el que conozo) de como puede
ahorrar bastante codigo en forma de codigo en tú aplicación está aquí
[3], implementar algo tan elegante en con un orm AR sencillamente no se
puede, eso es menos código en tu aplicación que escribir pero sobre todo
que mantener.

El AR es conceptualmente más sencillo y sirve bien para la mayoría de
casos hasta mediana complejidad, el DM es más complejo pero, hasta dónde
he llegado, permite mapear cualquier esquema de base de datos. El resto
son diferencias entre las implementaciones pero lo que te he descrito es
la diferencia esencial, según la entiendo.

(....)
Post by unknown
Por ahora para mí además del marketing favorable, lo único que puedo
decir es que
viendo la documentacion disponible me parece el mas sencillo de abordar.
Su documentación es la mejor, sin duda (aunque Mark está esforzándose y
promete que eso cambiará pronto ;)

La de las alternativas deja bastante que desear, sin duda, y por lo que
respecta a mi parte del jardín (TW) soy culpable como el que más. Si
quieres saber por qué, mi teoría es que se debe a que no ha habido un
esfuerzo coordinado y motivado que durase el tiempo suficiente por
mejorar la documentación de TG/Pylons/ y varias librerías relacionadas
por parte de los autores lo cual no ha ayudado a que los usuarios
ayudasen ("¡con lo que me ha costado aprender ahora va a escribir
documentación quién yo te diga!"). Hay excepciones, la de SA que es
impresionante, para mi *gusto* mejor que la de django. Al final terminas
aprendiendo a base de trastear, charlar en IRC o preguntando en las
listas de correo. Personalmente, yo he aprendido python (después de lo
básico) a base de leer y estudiar el código de las librerías que usababa
y no estaban del todo documentadas. En retrospectiva me alegro mucho de
que haber sido así ya que, entre muchas otras cosas, creo que da cierta
independencia a la hora de evaluar software libre.

Sinceramente, creo que Django es la mejor opción que tienes ahora mismo
si eres nuevo en programación web con python por la documentación, la
consistencia y la comunidad que tiene en habla hispana.

Lo único que algún día (tal vez ahora, no lo sé) puede que los railes
que te proporciona no sen lo mejor para el proyecto que tengas entre
manos y puede que otra herramienta/framework/como-lo-quieras llamar te
sirva mejor, que te ayude a ahorrar código y tiempo, si puedes
prepararte mientras tanto a base de ver con calma que otras cosas hay
por ahí pues mejor, creo yo. Si sirve como anécdota, por la lista de TG
han pasado, algunos se han quedado, varios desarrolladores
experimentados a los que django se les ha quedado corto; mientras que lo
que he visto (no mucho, así que seguro que me equivoco) en caso
contrario han sido a principiantes quejándose por la documentación. Ni
se te ocurra tomar en cuenta esto como argumento de peso ;)
Post by unknown
Lo que mas estoy interesado en saber (insisto) es con qué limitaciones
me puedo llegar a encontrar.
Ya lo he dicho en éste hilo: El ORM principalmente, luego,
subjetivamente, el lenguaje de plantillas (no me gustan las camisas de
fuerza ;), luego ciertas decisiones de la infraestructura (aplicación
como singleton, no usar setuptools...)

Bueno, aquí dejo el hilo. No me apasiona el marketing y siempre me
siento haciéndolo si hablo de ésto por haber pasado por el liderazgo de
TG durante unos meses (hasta que era insostenible que un patán como yo
estuviese ahí ;) La vertiente que está tomando, según la empiezo a ver,
más "comercial" que técnica no me resulta del todo cómoda y no me salen
argumentos en ese terre. Para hablar de código, librerías etc. lo que
quieras, pero más tg vs. django vs. pylons vs. ... no, sorry.

Mi intención principalmente al entrar en éste hilo no es dicutir o
"vender" nada, sino comentar que Django no es lo único que hay, ni lo
mejor (quien esté convencido de que algo es mejor que otra cosa, en
terminos absolutos, me asusta más que hace reir), ni los demás son de
juguete, ni están muertos... en fin, de luchar un poquito contra el FUD,
seguramente no-intencionado, que he leido por aquí.

Todos son buenos, es python ;)

Alberto

P.S. Ya para despedirme del hilo, y ya que están de moda las citas, dejo
un comentario que me parece bastante acertado de Bob Ippolito en un blog
(dónde se suele estar mas suelto que en una entrevista). Si no os suena
es el que distrubuye el MacPython, ha escrito simplejson (que os debe
sonar a los que también usaís django pues lo teneis en vuestro tronco=),
MochiKit, MochiWeb, ha contrubuido a Python...

"""
The Pylons approach works quite well if you already know what you're
doing. There's a whole lot of brain damage in some of the choices Django
and TurboGears have made and neither were tolerable for me so rather
than building our own framework we could simply use Pylons and configure
it with the pieces we needed. We've built a lot of homegrown stuff on
top of it, but we'd have done that anyway because no framework ships
with solutions that worked for some of our needs.

The people I've hired with previous Django experience much prefer
working on our Pylons based architecture than hacking around Django's
cruft. For us, the conceptual integrity is perfectly intact in how we do
projects across our business and we don't need as big of a crutch as
what you're used to.

If the Pylons project magically changed into what you suggest it should
be, then we wouldn't use it. I don't want Mako or Django's templates.
Our home-grown auth/authz, caching, and model systems (more than one db
involved, though using SQLAlchemy for plumbing) serve our needs better
than anything out of a box could.
"""

[1] http://martinfowler.com/eaaCatalog/activeRecord.html
[2] http://martinfowler.com/eaaCatalog/dataMapper.html
[3] http://spyced.blogspot.com/2007/01/why-sqlalchemy-impresses-me.html

_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 23:24:03 UTC
Permalink
Post by unknown
Post by unknown
Hola, gente.
Post by unknown
Mis modelajes de datos son bastante complejos, con
modelos físicos y lógicos, claves subrogadas y tablas dimensionales
que no se pueden modelar con un ORM.
¿Con ninguno o con un active record? Me interesaría ver un ejemplo por
curiosidad...
También decía en mi mensaje que no usaba ORM para nada. Tal vez tenía que
haber dicho que no me molesté en explorar a fondo las potencialidades de los
ORMs. Es una opinión mía, pero hay cosas, como la integridad referencial, que
cuesta imitar la labor de un SGDB. Por ejemplo, al borrar tablas en cascada,
¿quién debe mantener la integridad referencial, el SGDB o el ORM? Ante la
duda, prefiero que sea el SGDB quien lleve las riendas.

Dicho ésto --y después de tu magnífica explicación--, reconozco que sólo
conozco los ORM-AR. Me queda por explorar a fondo el sqlalchemy (un ORM-DM).
Como también dije en algún mensaje, mi intención era combinar django con
sqlalchemy, aunque no es una de mis prioridades ahora.

Entre las cosas que desconozco cómo hacer estaría el mapeo de vistas (views) y
reglas (rules) en el modelaje con un ORM. No siempre se trabaja directamente
con las tablas de la base de datos. También necesitaría ver cómo encajar los
privilegios y los usuarios. En algunos particionamientos de tablas se aplican
restricciones por usuario, algo que debería figurar en el modelo de datos,
tal vez mapeando los objetos del catálogo ("information_schema"),...

Son cosas como éstas las que no consigo ver cómo va a simplificarme un ORM.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.python.org/pipermail/python-es/attachments/20080808/05eb261b/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 16:39:03 UTC
Permalink
Post by unknown
Ahí no se equivoca. Se podría mejorar en ciertos aspectos, no hay nada
perfecto, pero básicamente estoy totalmente de acuerdo. Pero... Guido
prefiere Django, no es ningún secreto... sinceramente, ¿y? ¿Es un
argumento de peso (a parte de para convencer a algún jefazo)? ¿Debo basar
las decisiones *tecnológicas* de mis proyectos en lo que prefiera Guido?
Si te doy toda la razon , como el mismo dice ,lo escoge por que se apega mas
a su forma de trabajo y programacion...
Post by unknown
No me convence, lo siento. Supongo que se debe a que tiendo a intentar
justificar de alguna manera racional las herramientas que uso, eligiendo
lo más pragmaticamente posible la que mejor se adapte al problema en
cuestión.
No se si es mucho pedirte, si pudieras darnos algunas de tus comparasiones
y/o mejores para los FW q hallas analizado?? a los q estamos iniciandonos
nos serviria de mucho, es mas podria servirme como orientacion para tomar
decision.

Gracias!
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 17:41:28 UTC
Permalink
Post by unknown
Post by unknown
Ahí no se equivoca. Se podría mejorar en ciertos aspectos, no hay nada
perfecto, pero básicamente estoy totalmente de acuerdo. Pero... Guido
prefiere Django, no es ningún secreto... sinceramente, ¿y? ¿Es un
argumento de peso (a parte de para convencer a algún jefazo)? ¿Debo basar
las decisiones *tecnológicas* de mis proyectos en lo que prefiera Guido?
Si te doy toda la razon , como el mismo dice ,lo escoge por que se apega mas
a su forma de trabajo y programacion...
Y a la documentación, a cómo se gerencia el desarrollo, a los colaboradores,
a qué visión tienen y a la masa crítica de usuarios.
No se trata del "gusto" de alguien en particular sino de razones que van mas
allá de si un ORM X soporta LOBS de tamaño infinito (poniendo un ejemplo
tirado de los pelos).
Post by unknown
Post by unknown
No me convence, lo siento. Supongo que se debe a que tiendo a intentar
justificar de alguna manera racional las herramientas que uso, eligiendo
lo más pragmaticamente posible la que mejor se adapte al problema en
cuestión.
Una política "best of breed" puede ser muy buena cuando la granja tiene pocos
animales. Pero cuando tienes muchos el coste de mantener cada raza puede
superar en mucho los beneficios de la especialización. Eso no implica que
una solución esté bien y la otra mal. Una vez descartadas las candidatas que
no cumplen los requisitos *necesarios*, las que restan tienen que ser ponderadas
en función del coste total.

Un mal común en las evaluaciones es concentrarse exclusivamente en la tabla X-.
Para el que está a cargo del proyecto la medida mas importante no es binaria.
Es el TTM (time to market). La cantidad de crucecitas no es inversamente
proporcional al tiempo de desarrollo. Lo que cuenta es el tiempo que me llevará
a *mí* implementar el proyecto con las benditas X.

Para aquellos que tenéis que tomar una decisión pronto, mi consejo es que
dejéis de descargar e instalar frameworks por un momento y dedicad un par
de horas a responder la siguiente pregunta lo mas detalladamente posible:
¿Qué necesito hoy?

Saludos,
-H.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 08:55:52 UTC
Permalink
Post by unknown
Mi experiencia ha sido fundamentalmente con TurboGears, luego me pasé a CherryPy; que es uno de sus componentes, porque no necesitaba tantas cosas. Puedo decir que su manejo es fácil, su lenguaje es muy "pythonico", puedes realizar web dinámicas bastante complejas, incluso puedes depurarlas con Pydev en Eclipse. Me quejo de la documentación; pierdes horas para encontrar que has de poner los gráficos en una carpeta llamada "static", y otra información por el estilo.
Por lo que han comentado aqui muy recientemente, Django, Pylons y Web2py, están incluso mejor, se dice por ejemplo que Django es más serio, que permite un mayor volumen de visitas, y que carga más rápido .
El problema con estos frameworks, es que lo más recomendable es publicar tu aplicación en un Servidor Privado Virtual. ; Supongo que con Web2py también, aunque no lo conozco.
Esto no te ayuda mucho, ¿verdad?...
Saludos veraniegos. :-)
Mis 0.02?.
He desarrollado sobre zope2 (~ 7 años), empezé con zope3, tiene cosas
muy buenas, pero algunas de las que más problemas me dio con zope2, como
la dependencia de zodb seguian ahí (puede ser bueno, pero en según que
casos es un horror), el tema del zcml, etc..
He desarrollado en PHP algunas cosas y la principal ventaja es el
deploy, copias y listo. El problema es que no era python (un montón de
librerias ya desarrolladas, integración con CORBA, etc..), no tenía una
buena integración con i18n, orm, etc...
Despues de mucho mirar, el ganador ha sido Pylons, te permite toda la
abstracción que quieras o bajar al nivel que necesites, es rápido, no
dependes de un solo sistema de plantillas, testeable fácilmente,
componentes claramente diferenciados.. etc.

Un saludo.
Post by unknown
----- Mensaje original ----
De: Mario Lacunza <mlacunza en gmail.com>
Para: Lista de discusión sobre python en castellano <python-es en aditel.org>
Enviado: martes, 29 de julio, 2008 4:40:04
Asunto: [Python-es] Web Frameworks
Hola,
Tengo una aplicacion de escritorio para gestion comercial (inventarios,
caja, ventas, compras, etc) desarrollada en Python la cual requiere
trasladar algunas funcionalidades al ambiente web, he estado investigando
los webframeworks hechos en Python disponibles, pero no llego a ver claro
cual podria ser el mejor para lo que necesito, por lo cual requiero sus
impresiones.
Gracias,
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 15:08:28 UTC
Permalink
Hola Mario:
A raiz de mi ignorancia sobre Web2py, he estado echando un vistazo a la página web, y me da la sensación de que es la mejor opción de todas, es muy fácil su instalación y su manejo, viene con una documentación completísima con decenas de ejemplos, a partir del ejemplo 40 explica cómo hacer AJAX fácilmente... vamos que me están dando ganas de probarlo y cambiar. :-)
Estoy x ver Pylons y no sabia de Web2py...
Si alguien mas tiene alguna sugerencia mas...
______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 15:23:44 UTC
Permalink
Post by unknown
A raiz de mi ignorancia sobre Web2py, he estado echando un vistazo a la
página web, y me da la sensación de que es la mejor opción de todas, es muy
fácil su instalación y su manejo, viene con una documentación completísima
con decenas de ejemplos, a partir del ejemplo 40 explica cómo hacer AJAX
fácilmente... vamos que me están dando ganas de probarlo y cambiar. :-)
Estoy x ver Pylons y no sabia de Web2py...
Si alguien mas tiene alguna sugerencia mas...
Pues tiene muy buena pinta.... si es todo lo q dice su website. Alguien sabe
como es su ciclo de desarrollo? esta estable? No vaya ser q el autor se
desaparesca y....
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 16:13:47 UTC
Permalink
Post by unknown
Post by unknown
A raiz de mi ignorancia sobre Web2py, he estado echando un vistazo a la
página web, y me da la sensación de que es la mejor opción de todas, es muy
fácil su instalación y su manejo, viene con una documentación completísima
con decenas de ejemplos, a partir del ejemplo 40 explica cómo hacer AJAX
fácilmente... vamos que me están dando ganas de probarlo y cambiar. :-)
Estoy x ver Pylons y no sabia de Web2py...
Si alguien mas tiene alguna sugerencia mas...
Pues tiene muy buena pinta.... si es todo lo q dice su website. Alguien sabe
como es su ciclo de desarrollo? esta estable? No vaya ser q el autor se
desaparesca y....
El proyecto es bastante dinámico. El autor, Massimo Di Piero, es
bastante abierto a sugerencias, cambios, incorporación de mejoras, etc.

Saludos
Jose
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-30 17:35:52 UTC
Permalink
Post by unknown
A raiz de mi ignorancia sobre Web2py, he estado echando un vistazo a la página web, y me da la sensación de que es la mejor opción de todas, es muy fácil su instalación y su manejo, viene con una documentación completísima con decenas de ejemplos, a partir del ejemplo 40 explica cómo hacer AJAX fácilmente... vamos que me están dando ganas de probarlo y cambiar. :-)
Sin ánimo de sonar paternalista, evaluar un framework por su página web,
cuatro ejemplos o un screencast pintoso no me parece lo más acertado. Un
vistazo al código es mucho más revelador. A mi personalmente me encanta
éste módulo:

http://code.google.com/p/web2py/source/browse/trunk/gluon/import_all.py

Aunque los demás tampoco tienen desperdicio... :P

Y ya que todo no es bromear, al tema: Para dar un interfaz web a una
aplicación existente, supongo que conectada a una base de datos,
recomendaría que investigases algún framework web que integre SQLAlchemy
ya que es el único ORM con el que puedes mapear a objetos *cualquier*
esquema de base de datos existente (con llaves primarias/foráneas
compuestas de cualquier tipo de datos, etc...) a casi cualquier modelo
de dominio (implementa el patrón Datamapper). Es el más potente que hay
para python (quién diga lo contrario es que no los ha usado ;) pero a
pesar de ello también es sencillo de usar para modelos simples, échale
un ojo a los tutoriales:

http://www.sqlalchemy.org/docs/05/ormtutorial.html
http://www.sqlalchemy.org/docs/05/sqlexpression.html

Íncido en ello ya que el modelo que hagas va a ser decisivo en la
cantidad de código que tengas que escibir y mantener y cuan fácil sea
extender la aplicación en el futuro.

Acerca de los frameworks, prefiero no mojarme demasiado en recomendar
algo ya que mi opinón inevitablemente será sesgada ya que colaboro en
algunos y librerías relacionadas. Te mando un enlace a un post que mandé
aquí hace algún tiempo en el que comenté algo por si te ayuda:

http://216.239.59.104/search?q=cache:bW3hCTW3Wh4J:listas.aditel.org/archivos/python-es/2007-April/016915.html

(del cache de google ya que por algún motivo en el url original me manda
una página en blanco)

Saludos,
Alberto




_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 09:41:24 UTC
Permalink
Hola Antonio:
¿Y que tal el deploy de Pylons?
¿Existe algún ejemplo ajax parecido a una calculadora?
Gracias.

P.D. Una "calculadora" en AJAX como lo que hablamos aqui:
http://64.233.183.104/search?q=cache:KuMcEb_ukdkJ:listas.aditel.org/archivos/python-es/2007-August/018378.html+%22ria+con+python%22&hl=es&ct=clnk&cd=2&gl=es
http://64.233.183.104/search?q=cache:9Aejv5GFhggJ:listas.aditel.org/archivos/python-es/2007-August/018383.html+%22ria+con+python%22&hl=es&ct=clnk&cd=1&gl=es

NOTA: El histórico de la lista no va, y he tenido que poner el enlace a la cache.
NOTA 2: El histórico de Gmane censura estos dos mensajes, debe ser que a "alguien" le jode que con Python se pueda programar AJAX tan cómodamente, :-))


______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 09:51:52 UTC
Permalink
Post by unknown
¿Y que tal el deploy de Pylons?
A mí me va de maravilla con apache y mod_wsgi. Aqúi tienes un ejemplo:

http://code.google.com/p/modwsgi/wiki/IntegrationWithPylons

Sin embargo la mayoría de los pyloneros suelen usar nginx como
reverse-proxy al servidor http de paste (python puro). Este sistema es
un poco más complicado ya que te tienes que encargar tú de que los
demonios de paste arranquen, etc. con supervisord/monit/similar,
mod_wsgi se encarga de gestionar los procesos dónde se ejecuta a
aplicación. En el wiki de pylons hay algo de info:

http://wiki.pylonshq.com/display/pylonscookbook/Running+Pylons+with+NGINX
Post by unknown
¿Existe algún ejemplo ajax parecido a una calculadora?
Una calculadora no he encontrado pero sí ésto:

http://wiki.pylonshq.com/display/pylonscookbook/Getting+started+with+AJAX

Alberto
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-07-31 10:34:17 UTC
Permalink
Post by unknown
¿Y que tal el deploy de Pylons?
Pues como te comenta Alberto, un lujo, copiar y listo, no hace falta ni
reiniciar apache ni nada por el estilo, de ello se encarga todo el
mod_wsgi, que funciona de lujo.

Además yo lo ejecuto en una máquina virtual con poca ram, con el apache
configurado para los minimos recursos y funciona muy rápido y muy bien.

Además con Mako, obtienes un rendimiento muy bueno y mucha flexibilidad,
sin necesidad de optimizar, aunque tienes opciones de optimización si
las necesitas, (python.org usa mako, por algo será), pero lo bueno de
pylons, es que si no te gusta mako, puedes usar genshi, kit, jinja, o la
que quieras...

Un saludo.
Post by unknown
¿Existe algún ejemplo ajax parecido a una calculadora?
Gracias.
http://64.233.183.104/search?q=cache:KuMcEb_ukdkJ:listas.aditel.org/archivos/python-es/2007-August/018378.html+%22ria+con+python%22&hl=es&ct=clnk&cd=2&gl=es
http://64.233.183.104/search?q=cache:9Aejv5GFhggJ:listas.aditel.org/archivos/python-es/2007-August/018383.html+%22ria+con+python%22&hl=es&ct=clnk&cd=1&gl=es
NOTA: El histórico de la lista no va, y he tenido que poner el enlace a la cache.
NOTA 2: El histórico de Gmane censura estos dos mensajes, debe ser que a "alguien" le jode que con Python se pueda programar AJAX tan cómodamente, :-))
______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-01 09:59:35 UTC
Permalink
¡Muy interesante Chema!.
Respecto a Twisted, nunca encontré un ejemplo sobre cómo acceder a una aplicación mediante Wx.
Respecto a Jython + Tomcat, el hosting debe ser carísimo ¿no?.

Gracias :-)



______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-01 10:30:09 UTC
Permalink
Ejemplo Twisted + Wx:
http://code.activestate.com/recipes/286201/

Suerte.
Post by unknown
-----Mensaje original-----
De: python-es-bounces en aditel.org
[mailto:python-es-bounces en aditel.org] En nombre de Juan M Puertas
Enviado el: divendres, 1 / agost / 2008 12:00
Para: Lista de discusión sobre python en castellano
Asunto: Re: [Python-es] Web Frameworks
¡Muy interesante Chema!.
Respecto a Twisted, nunca encontré un ejemplo sobre cómo
acceder a una aplicación mediante Wx. Respecto a Jython +
Tomcat, el hosting debe ser carísimo ¿no?.
Gracias :-)
______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más
inteligente. _______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-01 11:22:35 UTC
Permalink
El día 1 de agosto de 2008 11:59, Juan M Puertas
Post by unknown
¡Muy interesante Chema!.
Respecto a Twisted, nunca encontré un ejemplo sobre cómo acceder a una aplicación mediante Wx.
Respecto a Jython + Tomcat, el hosting debe ser carísimo ¿no?.
Jython es tan sólo un fichero jar de 1Mb. Hosting con tomcat hay de
todos los precios (veo alguno en España desde 45? al año); pero lo más
interesante es usarlo para crear intranets. Hace tiempo hice pruebas
con un hosting "barato" que tenía servlets, pero se caía bastante y lo
quitaron. No es fácil "virtualizar" hostings con tomcat, aunque no
imposible si te apoyas en apache.
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-01 15:49:15 UTC
Permalink
¡Mario!. Yo que tú, le preguntaría directamente a Chema qué solución elegiría
él, porque mi experiencia me dice que tras probarlo todo, he perdido un tiempo tontamente por no haberle hecho caso antes. ;-)
Post by unknown
http://code.activestate.com/recipes/286201/
Suerte.
¡Gracias!. ¡Mira que he buscado!.
A ver cuando lo pruebo... "La curiosidad mató al gato"... ;-)
Post by unknown
No es fácil "virtualizar" hostings con tomcat, aunque no
imposible si te apoyas en apache.
Gracias por el consejo. Vamos, que; si no entiendo mal, alojar un servlet es un latazo... :-?

Por cierto que nadie ha hablado aqui de su experiencia con Google App Engine...


______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-01 16:50:07 UTC
Permalink
Post by unknown
¡Mario!. Yo que tú, le preguntaría directamente a Chema qué solución elegiría
él, porque mi experiencia me dice que tras probarlo todo, he perdido un
tiempo tontamente por no haberle hecho caso antes. ;-)
Mira q si...estoy tentado en pedirle su opinion personal (como nos esta
escuchando a ver si se anima :D....) q ya le debo su Tip para usar Eclipse
(a propo lo mejor q encontre como IDE para Python + PHP+ C++) otros buenos
pa Python: Ulipad, Boa y SpeIDE.... ups me sali del tema....
Post by unknown
Post by unknown
http://code.activestate.com/recipes/286201/
Este fin de semana voy a estar probando todos... a ver q sale....
Post by unknown
Post by unknown
Suerte.
¡Gracias!. ¡Mira que he buscado!.
A ver cuando lo pruebo... "La curiosidad mató al gato"... ;-)
Post by unknown
No es fácil "virtualizar" hostings con tomcat, aunque no
imposible si te apoyas en apache.
Gracias por el consejo. Vamos, que; si no entiendo mal, alojar un servlet
es un latazo... :-?
Yo si con Java y sus derivados no me meto... no se programar en ese
lenguaje.
Post by unknown
Por cierto que nadie ha hablado aqui de su experiencia con Google App Engine...
Parece muy interesante, pero esta en beta con algunas limitaciones y tu App
tiene q ser free...
--
Saludos / Best regards

Mario Lacunza
Consultor de Sistemas - Webmaster

Email: mlacunza [AT] gmail [DOT] com
Lima - Peru
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-03 12:28:01 UTC
Permalink
Post by unknown
Post by unknown
¡Mario!. Yo que tú, le preguntaría directamente a Chema qué solución elegiría
él, porque mi experiencia me dice que tras probarlo todo, he perdido un
tiempo tontamente por no haberle hecho caso antes. ;-)
Mira q si...estoy tentado en pedirle su opinion personal (como nos esta
escuchando a ver si se anima :D....) q ya le debo su Tip para usar Eclipse
(a propo lo mejor q encontre como IDE para Python + PHP+ C++) otros buenos
pa Python: Ulipad, Boa y SpeIDE.... ups me sali del tema....
Agradezco la confianza, pero no he trabajado tanto con páginas webs
como para darte una respuesta definitiva. En realidad no utilizo los
ORMs para nada. Mis modelajes de datos son bastante complejos, con
modelos físicos y lógicos, claves subrogadas y tablas dimensionales
que no se pueden modelar con un ORM.

En el pasado trabajé bastante con cherrypy, por lo que decidí a
utilizar turbogears. Lo malo es que estos desarrollos han sido
divergentes, de tal modo que ahora turbogears lleva pylons y cherrypy
ha vuelto a cambiar radicalmente. Como resultado de esta dicotomía,
decidí darle una oportunidad a django, tal como creo que ha hecho
mucha más gente (consecuencias de no querer aunar desarrollos :-P). A
parte de ésto, como sistema ORM estoy convencido que sqlalchemy es lo
mejor que hay. Como plantillas, usé kid, que es lo que llevaba
turbogears. aunque no es porque haya probado todas. Kid destaca sobre
otros sistemas de plantillas en que crea plantillas en código xml bien
formado, por lo que no rompe las validaciones XHTML impuestas a tu
aplicación (pruebas unitarias).

Voy a emplear django para crear un sistema simple de control de
boletines de servicio técnico, a ver cómo va. Quiero experimentar con
sqlalchemy y los adaptadores de zope3, así como otras cosas que he
visto por ahí para django. Hasta entonces no podré decir mucho más de
él. He usado otros frameworks, como el tomcat con jython o el
kepler/xavante con lua, el primero para intranets empresariales y el
segundo para sistemas empotrados (PDAs, NSLU2,..). Ambos se sale de lo
que se entiende por una aplicación normal.

Para tu caso (una aplicación de gestión) no creo que tengas demasiado
problemas con django. Si realmente fuera tan diferente usar uno u otro
framework, entonces no sería python.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
unknown
2008-08-07 09:53:32 UTC
Permalink
----- Mensaje original ----
De: Chema Cortes ...
(...)
Fue una de las sugerencias para los Summers of
Code de Google llamada wxWeb: "Write a wxWidgets port that allows a
wxWidgets application to display and take input on a web browser, with
the program executing in another machine. This can use a combination
of forms for text-based windows, and (perhaps) a Java applet to handle
more graphical elements". No llegó a completarse, así que tendrás que
buscar otra cosa de momento.
(...)

¡Qué pena!. Tener que reinventar la rueda y duplicar esfuerzos.
Ahora que Sun resucita los Applets. Esto sería muy interesante para Python. ¿No hay manera de resucitar el proyecto?. A mi me encanta la programación gráfica, puedo echar una mano, lo mismo hasta nos hacemos ricos... :-)


______________________________________________
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Continue reading on narkive:
Loading...