[Python-es] ¿Cual usar? ¿Web2py o Django?

José Luis Redrejo jredrejo en gmail.com
Lun Jun 18 10:38:35 CEST 2012


El día 18 de junio de 2012 08:55, Chema Cortes <pych3m4 en gmail.com> escribió:
> El día 17 de junio de 2012 18:51, José Luis Redrejo
> <jredrejo en gmail.com> escribió:
>
>>> Además es "portable", o sea que puedes llevarte todo en un directorio
>>> de un sitio a otro (incluye su propio intérprete python).
>>
>> No lleva ningún intérprete propio de Python, es compatible con  2.5 >=
>> python < 3.0
>
> Los binarios para windows y mac sí llevan su propio intérprete.


Sí, claro, cualquier binario lo lleva, pero eso no es lo que se usa
para poner un servidor en producción. Un binario para ejecutar django
en windows llevaría también un intérprete de python. Es cuestión del
instalador, pero web2py no lleva ningún intérprete de python.

>
>
>>> Elegir un framework u otro,...
>>>
>>> ...con web2py los desarrollos son muy ágiles, apropiado para proyectos
>>> sencillos que no vayan a tener mucha carga.
>>
>> ¿algún dato para confirmar esto? Por ser menos antiguo, es cierto que
>> hay menos sitios hechos en web2py que en django, pero hay sitios en
>> web2py con millones de visitas diarias. A esos niveles de tráfico
>> importa más temas como la arquitectura de tus servidores, cachés,
>> bases de datos, etc. que el hecho de usar uno u otro framework python.
>
> Era más bien una opinión que un hecho. Intentaba responder a la
> pregunta sobre en qué momentos era mejor usar uno u otro.
>
> Pero ya que preguntas, aquí tienes un estudio de porqué el sistema de
> objetos globales de web2py no casa bien con aplicaciones grandes:
>
> <http://movu.ca/demo/article/show/11/model-less-apps-using-data-models-and-modules-in-web2py>
>
> El sistema de django de importar explícitamente los
> módulos/aplicaciones, además de ser más pitónico, da mayor control y
> permite mejor integración entre aplicaciones. Los imports implícitos
> del web2py, en pequeña escala aumentan mucho la productividad, pero
> acaban siendo una locura a medida que aumenta la complejidad de las
> aplicaciones instaladas. De ahí mi distinción de usos entre web2py y
> django; pero si tienes otra opinión, estoy deseando escucharla.


Desde hace varias versiones web2py permite importar módulos sólo con
algunos controladores.
El artículo que citas explica directamente como se hace.

El sistema implícito se mantiene por compatibilidad hacia atrás, pero
no hay  ninguna necesidad de usarlo (aunque viene bien usarlo para
proyectos pequeños). En proyectos grandes la importación se hace a
medida que se necesita, tal y como web2py hace con los distintos
plugins que hay disponibles.





>
> Que quede claro que de ninguna manera digo que web2py sea malo. Desde
> que conozco web2py he dejado de usar django y se lo recomiendo a todo
> el mundo.


Cierto, como se ha dicho varias veces en este hilo ninguno de los dos
es malo. Django está más extendido, y web2py se me hace,
personalmente, mucho más cómodo de usar.  Lo que comentas de que
Django es más pitónico es cierto, pero a costa de tener que romper el
DRY ya que te hace poner una y otra vez un buen número de líneas de
código iguales en cada uno de los controladores. Web2py elimina todo
ese boilerplate y te deja concentrarte mucho más en la tarea de
programar la aplicación que quieres hacer.


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