[pyar] framework web

Mariano Reingart reingart en gmail.com
Sab Sep 25 19:38:19 ART 2010


2010/9/25 Esteban Kuber <ekuber en gmail.com>:
>> El único inconveniente que le encuentro (y en mi caso, este punto
>> sería el que me llevaría a decidir si utilizar o no Django en otro
>> proyecto), es algo con lo que me tocó lidiar en estos últimos días: si
>> estás, como en mi caso, acostumbrado a resolver todo con queries
>> íntegramente en SQL, de alta complejidad, es (aparentemente) imposible
>> utilizar el Framework para esto. Por queries de alta complejidad, me
>> refiero a sentencias que incluyan:
>> - gran cantidad de joins
>> - selects con funciones
>> - queries formados dinámicamente
>
> Hay algo que tener en cuenta:
>
> Django nació en los sistemas internos de un diario. Por lo tanto está
> optimizado y pensado para:
>  - Gran cantidad de visitas
>  - Prototipado ágil
>  - Iteraciones de desarrollo muy ajustadas (5 de la tarde "che, sabés
> que, podés armarte una comparación de todos los candidatos de esta
> elección antes de que cierren las urnas a las 7? Gracias!")
>  - Modelo de relaciones relativamente sensillo, o sea, hechos/datos.

Como comparación, web2py nació como herramienta educativa, fácil de
aprender, con un enfoque simple y completo (todo incluído).
También hace que sea muy fácil de desarrollar y crear prototipos
gracias a la convención sobre configuración y comportamientos
predeterminados.
Al no obligarte a usar una estructura rígida de objetos, ni inventar
desde cero un lenguaje de consulta o plantillas, es bastante
intuitivo, y puede modelar/representar casi cualquier cosa
(relacional o no, por ej. en google app engine).

>> En definitiva, queries que por algún motivo, te obliguen a abandonar
>> la idea de "objeto/modelo" de Django. Personalmente, esto lo vi
>> reflejado al momento de tener que hacer reportes estadísticos
>> globales.
>
> Por suerte podés hacer tu camino, dejando de lado la ORM (y perdiendo
> la admin), después de todo esto es Python puro :D, pero es el problema
> de siempre con las capas de abstracción: en algún momento encontras un
> techo a medida que crecés, ya sea la ORM, el sistema de template, el
> GIL de Python, tu cerebro... etc. Lo bueno de Django es que a esta
> altura la arquitectura te permite arrancarle un cacho y seguir usando
> el resto. Si sos Mark Zuckerberg seguro vas a terminar no teniendo
> nada de Django, pero podés facilmente empezar usandolo e ir cambiando
> de a módulos a medida que chocas con los techos.

Lo bueno de web2py es que no es necesario usar parcialmente el
framework, ya que es bastante flexible y se puede hacer ese tipo de
consultas complejas sin mayor dificultad, sin tener que recurrir a SQL
crudo, y sin tener que abandonar el mapeo los registros de la base de
datos a los objetos definidos en Python.
Lo mismo con las plantillas, rutas, optimizaciones, etc.

> Te recomiendo que vayas de shopping mirando
>  - http://turbogears.org/, orientado más a aplicaciones completas, es
> más complejo, más feo, más trabajo, mas escalable, más puro
>  - Django: mas "Rails", mas facil de seguir un camino y una gran
> comunidad. Es dificil que Django "no te sirva".
>  - web2py: ganando tracción, varios en la lista a quienes les gusta.
> Lo poco que me mostraron me gusto, pero me dio la sensación que
> *tenés* que estar a mas bajo nivel que los dos anteriores.

No coincido con lo de bajo nivel, solo creo que es otro enfoque (DAL
en vez de ORM, Helpers en vez de filtros/lenguaje de plantillas, etc.)

Espero haberlo explicado mas en detalle arriba :-)

Los tres en general permiten hacer lo mismo, y por mi experiencia,
web2py es  más simple/fácil de todos.
Además, si el tema de bajo nivel lo midieramos en cantidad de código
(como un indicio sobre la abstracción, simplicidad, etc.), para
desarrollos comunes, web2py necesita pocas líneas, asique sería uno de
los de "más alto nivel".

Igual también recomiendo probarlos, cualquier cosa nos avisan ;-)

PD: estamos iniciando un proyecto de sistema de gestión
administrativa/contable con web2py, por si interesa dejo el link, a la
brevedad estaremos subiendo algo de código:

http://code.google.com/p/gestionlibre/

Sds

Mariano Reingart
http://www.web2py.com.ar
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com



More information about the pyar mailing list