choosing-python-web-framework 


 Si ingresas a Python por primera vez, es probable que hayas investigado varios frameworks web. De lo contrario, haga clic en la wiki de Python y comience a explorar la amplia variedad de marcos web. Adelante; bueno, espera.
Abrumador, ¿no? ¿Elige los marcos completos de pila completa o realiza investigaciones para encontrar lo que mejor se adapta a sus necesidades? Es difícil porque los frameworks web de Python pueden estar en cualquier parte del espectro, desde ejecutar un caso de uso único hasta proporcionar todas las características conocidas disponibles. Con nombres como Flask, Django, Tornado, Diesel, Pecan y Falcon, ¿cómo sabes por dónde empezar?
¿Qué son los frameworks web y por qué son importantes?
Comencemos asegurándonos de que todos estemos en la misma página aquí. Un marco web es una colección, o biblioteca, de paquetes o módulos que hace su vida más fácil al crear aplicaciones web escalables, confiables y mantenibles. Los marcos facilitan la reutilización de código para operaciones HTTP comunes. Básicamente, estos marcos encapsulan el trabajo que los desarrolladores han aprendido en los últimos veinte años mientras programaban aplicaciones y sitios. Despídase de los protocolos, los sockets y la administración de subprocesos de proceso.
Django y Flask: ¿una película de acción de los años 80?
¿Alguna vez viste Tango & Cash? Es una película de acción de policías de 1989. ¿No? Ah, bueno, no fue muy bueno. Decir "Django y Flask" en voz alta nos recordó esa película. ¿Sabes que? Tango and Cash se parece mucho a Django y Flask. Escúchanos.
Tango y Cash son dos detectives de narcóticos de diferentes lados de Los Ángeles que abordan los problemas de manera completamente diferente, pero ambos logran hacer el trabajo. Disciplinado y prístino, Ray Tango (Sylvester Stallone) es un oficial de policía reunido -el paquete total que algunos podrían decir- que está decidido a seguir el libro. Gabriel Cash, por otro lado, (Kurt Russell) es más flexible, más libre y juega según sus propias reglas. ¿Ves a dónde vamos con esto? ¿No? Bien . . seguir adelante
Pros y contras de Django
Django se conoce comúnmente como un enfoque de "baterías incluidas" o el"Marco para perfeccionistas con plazos". Esto significa que Django facilita a los desarrolladores de Python el acceso a las aplicaciones web rápidamente sin necesidad de prever la infraestructura de la aplicación antes de tiempo. Básicamente, crea mejores aplicaciones web, más rápidamente, con menos código. Django está establecido, tiene una excelente documentación y una gran comunidad en línea. Un blogger dijo: "Los piratas usan Flask, la Armada usa Django", que se siente mucho más descriptivo que nuestra analogía superficial Tango & Cash.


Pros

     Software bien establecido con muchos complementos
     El área de administración lista para usar hace que el desarrollo y la producción de CMS sea muy fácil
     Soporte de ORM
     Una organización MVC clara y definida
     Altamente personalizable
     Marco de formularios
     Gestión simple de bases de datos

Contras

     Se siente como demasiado software para pequeños proyectos
     Los errores de la plantilla fallan silenciosamente por defecto
     Un proceso solo maneja una sola solicitud a la vez
     Curva de aprendizaje profunda
     Funciones abrumadoras

  Pros y contras del flask

Flask es un framework relativamente joven, solo en uso desde 2010. Flask es considerado más "Pythonic" que Django simplemente porque el código de la aplicación web Flask es, en la mayoría de los casos, más explícito. Flask es la opción de la mayoría de los principiantes debido a la falta de obstáculos para poner en marcha una aplicación simple.


Pros

     Extremadamente flexible
     Minimalista sin sacrificar poder
     Simple de aprender y usar
     Enrutar URLs es fácil
     Núcleo pequeño y fácilmente extensible

Contras

     No es amigable para la asincronización
     Soporte y documentación limitados
     La falta de base de datos / ORM / formularios
     Verdaderamente limitado en características

¿Por qué no elegir ambos?

Los desarrolladores completos son expertos con Django y Flask. Una ruta común es comenzar a construir proyectos pequeños y divertidos con un marco simple, como Flask, y pasar a Django a medida que comienzas a comprender lo básico. En Coding Dojo, enseñamos tres pilas completas, comenzando con la pila completa de Python que cubre tanto a Flask como a Django en detalle.