Como bien sabemos Python es un lenguaje multiplataforma y de propósito general y que esta lleno de librerías y frameworks para todo tipo de trabajos y entre estos esta el desarrollo web. Y hay que decir que no es algo nuevo en el lenguaje ya que sitios como Instagram, Uber o Spotify lo han utilizado para este propósito desde hace ya un tiempo.

Es por eso que en este post vamos a listar algunos de los frameworks web mas importantes e interesantes de Python para aprender este 2021. Pero antes, queremos recomendarte nuestro curso de Python Essential, donde te enseñaremos las bases del lenguaje para que puedas comenzar a utilizar estos frameworks.

Django un viejo conocido del desarrollo web en python.

Dentro del ecosistema web de python Django ha sido uno de los favoritos por la comunidad.

Django fue lanzado el 23 de marzo de 2007 pero no fue hasta la versión 1.0 que se empezó a popularizar. Este framework esta basado en programación orientada a objetos y  utiliza una versión modificada de la arquitectura MVC a la cual llamaron MVT o Modelo Vista Template.

Modelo: Es la capa de acceso a la base de datos es decir donde definiremos nuestras tablas y campos y como acceder a ellos, como validarlos etc.

VIsta: Esta es la capa de la lógica de negocio, es decir la lógica que accede a los datos del modelo y delega a la plantilla apropiada o en otras palabras es el controlador.

Template: Es la capa de presentación, o sea donde tenemos todo el HTML y mostramos los datos obtenidos por la vista

Si bien esta arquitectura es la mas usada también existe el proyecto de Django Rest Framework el cual nos permite la creación de API Rest de manera mas fácil y rápida a si lo hiciéramos usando solo el Framework.

Flask el micro framework

Flask es otra de las opciones para desarrollo web con python y es un micro framework por que a diferencia de Django por ejemplo este no tiene por ejemplo un ORM preconfigurado o un sistema de plantillas, sin embargo esto no es del todo malo ya que nos permitirá configurar alguno por nuestra cuenta y tenemos varias opciones para hacerlo, por ejemplo tenemos Sqlalchemyo Pewee.

Si bien existe el rumor de que flask no es lo suficientemente poderoso la verdad es que si lo es, es decir cualquier cosa que podemos hacer en Django lo podemos hacer en Flask, es cierto que tiene una curva de aprendizaje mucho menor, pero eso no significa que no sea poderoso.

Entre los principales usos que tiene flask es el de desarrollo de microservicios ya que es realmente rápido desarrollar un API Rest por ejemplo y su despliegue también es muy sencillo en nubes como aws o google cloud.

Por cierto Flask puede ser utilizado con el paradigma orientado a objetos o estructurado.

CherryPy el framework web minimalista

Este es un framework orientado a objetos que permite a los desarrolladores crear aplicaciones web de la misma forma que crearían cualquier otro programa Python orientado a objetos.

CherryPy en realidad no es nada nuev0, ya tiene poco mas de 10 años, sin embargo no ha tenido el mismo impacto que Django o Flask sin embargo es una gran opción para considerar aprender.

Bottle

Bottle esta basado en el estándar WSGI el cual nos permite comunicar nuestras aplicaciones a través del protocolo HTTP

Esta basado en el paradigma estructurado y al igual que Flask no cuenta con un ORM, sin embargo ya cuenta con sporte para sistemas de plantillas como Maki, Jinja2 o Cheetha.

Ya que esta basado en WSGI como Flask tiene ya un servidor HTTP configurado y listo para ser usado en desarrollo aun que si algo no nos gusta de el lo podemos cambiar pues soporta cualquier servidor HTTP basado en WSGI.

Sin lugar a dudas esto lo vuelve una gran alternativa.

Pyramid

Pyramid argumenta que facilita la escritura de aplicaciones web ya que partiendo del codigo de su hola mundo, es posible ir escalando y construyendo aplicaciones mucho mas complejas al mismo tiempo que vamos aprendiendo.

De igual forma ya tiene integrado un servidor listo para empezar a desarrollar y también esta basado en el paradigma estructurado aun que eso no quiere decir que no podamos usar programación orientada a objetos.

Este framework tampoco tiene un sistema de platillas configurado sin embargo el recomendado es Chameleon aunque también podríamos configurarle Jinja2 si así lo preferimos.

Y bien estos son los frameworks web para python que yo considero mas interesantes a aprender este 2021, hay que decir que existen muchos otros como FastApi por ejemplo aun que este solo esta enfocado al desarrollo de API Rest y no de aplicaciones web completas.