Foros del Web » Programando para Internet » Python »

Crisis de web frameworks

Estas en el tema de Crisis de web frameworks en el foro de Python en Foros del Web. Hola a todos nuevamente. Bueno les comento mi problema, estoy en una especie de "crisis" con los web frameworks. No sé para que lado ir. ...
  #1 (permalink)  
Antiguo 24/10/2013, 19:37
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Crisis de web frameworks

Hola a todos nuevamente. Bueno les comento mi problema, estoy en una especie de "crisis" con los web frameworks. No sé para que lado ir. El primero que usé fue web.py, y cada tanto lo uso para algún que otro proyecto, pero si no me equivoco falleció el creador, así que supongo que se va a detener el desarrollo. Además, si bien me gusta bastante me parece algo pequeño, no lo veo para proyectos grandes. Estoy buscando algún framework que sea bien para mi, profesional y que sirva para proyectos grandes.

Django nunca usé, pero no se por qué razón no me llama la atención para nada (tal vez por mi manía de no hacer lo que todos hacen, TODOS usan Django), así que no sería una opción, tal vez en algún momento me atraiga y decida aprenderlo (además no me gusta que en los templates no se pueda usar código Python; y no soporta Python 3).

Hace unos días me interesó Zope, pero al parecer es un verdadero desastre. Plone se ve muy profesional, así que eso sería un punto a favor para zope. Sin embargo, al ser tan antiguo no sigue las pautas del PEP 8, sobretodo las del nombramiento que me parece lo más importante. Aún más me interesa ZODB, pero presenta los mismos problemas. ¿Alguien sabe si está activo Zope, el desarrollo? Lo mismo con Grok, me interesó mucho pero la comunidad está super inactiva, y la documentación desactualizada. En el IRC no me contestó nadie y en la ML tampoco.

Pyramid estamos en la misma que Zope. usa CamelCase para módulos y mixedCase para funciones, no me gusta. Además tiene muchas dependencias lo que hace dificil distribuirlo. Me gusta porque soporta Python 3. También leí en un blog que comentaba que en Pyramid no hay nada por defecto, está todo a elección del usuario, así que no se si es malo o bueno eso, ya que implica tener que aprender además otras herramientas más que el propio framework. También decían que ZODB no es muy conveniente, que piensan?

web2py nunca probé, alguien lo usó? Me lo recomiendan?

Por último, que otro framework de uso profesional podría investigar? Me gustaría que soporte Python 3, use la nomenclatura propuesta por el PEP 8, y que pueda ser utilizado para proyectos grandes.

Graias por leer!
  #2 (permalink)  
Antiguo 25/10/2013, 07:43
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crisis de web frameworks

Todo depende de lo que necesites hacer. Si bien investigar es bueno, y mantenerse al tanto de lo que hay disponible es indispensable, la realidad es que hay que usar la herramienta más apropiada en cada caso.

Cada framework tiene sus fortalezas y debilidades, para mí uno de los mayores problemas de Django es su incapacidad para servir diferentes sitios usando una sola copia del intérprete, o su relativa rigidez con las URLs, al menos comparando con lo que logramos en PHP+ModRewrite. Además está bastante orientado a contenido, por lo que para mí es ideal para un CMS pero no para cualquier clase de sitio.

Zope no es un framework, es un servidor de aplicaciones. No funciona de la misma forma ni se trabaja con él de la misma forma que con Django, por ejemplo.

Pyramid es bastante nuevo, aunque esté basado en otros frameworks más maduros.

web2py tiene algunas particularidades que encuentro incómodas, de la misma forma que a vos te parece incómodo el hecho de que Plone tenga las suyas.

web.py es bastante básico, al igual que flask. Pero depende de lo que necesites hacer, a veces flask+SQLAlchemy+Jinja es una mejor opción que Django

Nunca usé grok, ni siquiera lo descargué para probarlo, así que ni idea de qué tan bueno sea.

Te recomiendo leer la lista en la wiki de python: https://wiki.python.org/moin/WebFrameworks
Encontrarás muchos proyectos a medio terminar pero también algunos como CherryPy o Tornado, que pueden adaptarse a cierto tipo de aplicaciones mejor que otros. También encontrarás por allí a Turbogears, uno de los frameworks pioneros en desarrollo web con Python.


Saludos.
  #3 (permalink)  
Antiguo 25/10/2013, 11:35
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Crisis de web frameworks

Hola, gracias por la respuesta! Primero, al hablar de Zope me refiero a los web frameworks que se basan en él, como Pyramid y Grok, aunque tambien haciendo referencia a, por ejemplo, Zope CMF que sí es un framework y me sería de utilidad para mis proyectos, aunque también se ve muy inactivo y la verdad que hasta ahora no encontré ni una línea de código como documentación.

Con Pyramid que experiencia tuviste? Me podés comentar un poco más? Me gusta porque es uno de los pocos que se adapta a las nuevas tecnologías (Python 3), aunque tiene las contras que nombré anteriormente.

Qué particularidades encontras en web2py? Con respecto a Plone, nunca mencioné algo que me desagrade. Al hablar de las nomenclaturas me refería a Zope.

Con respecto a Grok, estaba decidido a empezar. Pero luego me encontré con la inactiva comunidad, documentación desactualizada, bastante complicado para instalar (de hecho aún no pude). Por lo que dice el libro "Grok 1.0 Web Development" sirve tanto para proyectos pequeños como grandes.

Gracias de nuevo por tu atención.

Espero más respuestas de otros usuarios!

  #4 (permalink)  
Antiguo 25/10/2013, 13:55
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 4 meses
Puntos: 28
Respuesta: Crisis de web frameworks

Django soporta python 3.
Personalmente django me parece la mejor opcion.
Aunque no conozco muy bien el resto de frameworks.
Puede que simplemente deberia estudiar mas los otros :)
Saludos
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #5 (permalink)  
Antiguo 25/10/2013, 14:50
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Crisis de web frameworks

Cierto, no había notado el soporte. Eso hace que me interese un poquito más. Gracias por la respuesta
  #6 (permalink)  
Antiguo 25/10/2013, 16:56
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: Crisis de web frameworks

Si quieres un framework full stack definitivamente creo que django es lo mejor, el que lo use todo el mundo tiene ventajas, se mantiene activo el proyecto, hay más ayuda y más aplicaciones prefabricadas, etc.

Si quieres algo más sencillo, mi favorito es Flask, otro muy bueno es Bottle. Estos son micro framewroks y tendrás que hacer muchas cosas from scratch.

Ninguno de estos frameworks te permiten escribir código python en templates. Ya te comenté antes por qué.

Saludos
__________________
Grupo Telegram Docker en Español
  #7 (permalink)  
Antiguo 25/10/2013, 18:58
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Crisis de web frameworks

Hola, gracias por la respuesta. Supongo que en algún momento voy a tener que empezar con Django, pero desde un principio que no me atrajo. Con respecto a los templates, la verdad que no entiendo lo que me decís, cómo que no puedo escribir código python en los archivos HTML?

Código HTML:
Ver original
  1. $def with (logged_in)
  2. $if logged_in:
  3.     Has iniciado sesion.
  4. $else:
  5.     No has iniciado sesion.
  6.     $a = 1
  7. </body>
  8. </html>

Gracias por la respuesta!
  #8 (permalink)  
Antiguo 25/10/2013, 19:49
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años
Puntos: 1329
Respuesta: Crisis de web frameworks

Eso lo puedes hacer con el lenguaje de plantillas de django:


Código HTML:
Ver original
  1. {% if user.is_autenthicated %}
  2.     Has iniciado sesion.
  3. {% else %}
  4.     No has iniciado sesion.
  5. {% endif %}
  6. </body>
  7. </html>

El caso es que el lenguaje de plantillas tienes ciertas herramientas, pero solo las necesarias. La lógica de tu aplicación debe ir en las vistas, si no se tiene un mugrero. Básicamente tu mandas a tu plantilla toda la información ya digerida.


Saludos
__________________
Grupo Telegram Docker en Español
  #9 (permalink)  
Antiguo 25/10/2013, 20:24
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Crisis de web frameworks

Perfecto, gracias . Igual me quedó una duda. Dices que mandas a la plantilla toda la información ya procesada, y que la lógica debe ir en las vistas. Pero la vista no es la misma plantilla, archivo HTML?

Sigo escuchando más opiniones!
  #10 (permalink)  
Antiguo 28/10/2013, 07:52
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crisis de web frameworks

La vista es el resultado, cuando hablamos de MVC tradicional. En Django el modelo se suele llamar "Model-View-Template", o MVT. En django la "vista" es más parecida al "controlador" del modelo MVC.

En Django lo que le mandas a la plantilla es quizás lo que en otros modelos de desarrollo obtendrías de la fachada (Facade): la información indispensable para la presentación, en vez de toda la información de cada objeto.

Saludos.
  #11 (permalink)  
Antiguo 28/10/2013, 08:27
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Crisis de web frameworks

Perfecto, ya entendí. Es decir, que en Django hablaríamos de la Vista como el Controlador del patrón MVC y el Template como el Modelo.

  #12 (permalink)  
Antiguo 28/10/2013, 10:29
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crisis de web frameworks

En realidad Modelo = Modelo, Controlador = Vista, Vista = Plantilla
  #13 (permalink)  
Antiguo 28/10/2013, 18:31
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Crisis de web frameworks

Claro, quise decir la Vista como el Controlador y el template como la vista.

Gracias !
  #14 (permalink)  
Antiguo 29/10/2013, 23:25
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: Crisis de web frameworks

Cita:
Iniciado por carbon Ver Mensaje
Django nunca usé, pero no se por qué razón no me llama la atención para nada (tal vez por mi manía de no hacer lo que todos hacen, TODOS usan Django), así que no sería una opción, tal vez en algún momento me atraiga y decida aprenderlo (además no me gusta que en los templates no se pueda usar código Python; y no soporta Python 3).
El argumento en negritas carece te sentido común, más bien parece un berrinche si me lo preguntas.

El segundo argumento tiene muy buenas razones de porque no ponemos código de python en las plantillas:
1. Esto no es PHP.
2. Cuando llegas a tener un nivel decente en programación te das cuenta que entre muchas cosas existe SoC (Separation of Concerns) lo cual hace mas flexible y reusable tu codigo, plantillas, etc..
3. Esto tampoco es CGI (de hecho si estas haciendo web con CGI en pleno siglo XXI, primero no tienes vergüenza y segundo y mas importante lo estas haciendo mal).
4. Otra de las cosas que aprendes cuando tienes un nivel decente de programación es patrones de diseños, filosofías de desarrollo y otro montón de cosas que no terminaría de escribir hoy.

En cuanto a lo de Python 3, django entre muchas otras librerías importante aun están siendo portadas a python 3. Por la complejidad de las mismas. Afortunadamente la siguiente semana que sea el release de django 1.6 ya habrá soporte para poner python 3 (si listo para producción). Ya existe en django 1.5 pero de manera experimental.
https://www.djangoproject.com/weblog/2013/oct/22/16c1/
  #15 (permalink)  
Antiguo 30/10/2013, 08:09
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 2 meses
Puntos: 35
Respuesta: Crisis de web frameworks

Hola razpeitia, gracias por tu respuesta. Te respondo con lo siguiente. Con respecto al primer argumento, nunca dije que Django era malo, poco productivo o que no servía porque todos lo usan. Lo único que dije fue que no lo uso porque YO tengo esa manía de diferenciarme de los demás y no hacer lo que todos hacen, así que no se por qué lo tomas como un "argumento" en contra de Django, si esa no era la intención. El segundo argumento, ambos (vos y Carlangueitor) lo interpretaron mal, y ya quedó aclarado en los mensajes anteriores (en realidad pensaba que no se podía poner código Python; y ya entendí que toda la lógica va en la vista y se envia al template todos los datos listos para ser mostrados).

1. No uso PHP, nunca usé, así que no me veo influenciado por el estilo del lenguaje ni nada.
2. Este comentario supongo que hace referencia al segundo argumento, que ya expliqué que me malinterpretaron.
3. También hace referencia al segundo argumento.
4. Eso lo entiendo perfectamente, no digo que yo tenga "un nivel decente de programación", pero siempre me preocupo por seguir algún patrón (sobretodo MVC en las aplicaciones de escritorio).

Con respecto a Python 3, ya me parecía que el soporte era experimental.

Gracias por la respuesta y espero que no te lo tomes a mal


Última edición por carbon; 30/10/2013 a las 08:15

Etiquetas: crisis, django, frameworks, funcion, gui
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:08.