Copiar enlace

Si ya has estudiado las bases de Python y ahora quieres utilizar el lenguaje para crear aplicaciones web backend. Estos son 3 Frameworks de Python muy utilizados para este propósito.

empecemos con Flask.

Flask

Flask es un framework Open Source de Python que esta catalogado como Micro-framework, es decir su intención es ser simplemente un módulo pequeño, pero que se pueda extender con modulos de terceros.

En la práctica, Flask es solo un paquete que puedes instalar y a partir de allí empezarias a crear la logica de tu aplicación backend desde cero, e instalando modulos que extienden al framework, como:

  • Flask SQLAlchemy para poder conectarte a una base de datos y poder hacer consultas
  • WTForms para generar formularios desde clases de Python
  • Flask JWT para poder autenticar con JSON Web Tokens
  • Flask Bootstrap para poder integrar el framework de CSS Bootstrap desde código de Python

entre otros modulos similares.

En Flask puedes crear tu propia forma de estructura para tus archivos y carpetas.

Y como solo es un módulo, es fácul de integrarse con otros paquetes del ecosistema de Python como Jinja2 o Mako para crear interfaces web (Template Engines), o modulos como mysql o psycopg2 para conectarse con postgres, o bibliotecas de ciencia de datos como numpy, pandas o sckit-learn.

Ademas ya viene con su propio Debugger integrado. Aunque el framework es por defecto Single Thread y Síncrono.

FastAPI

Escribir código en este Framework es similar a escribir código en Flask, en el sentido que tienes que importar tu mismos tus bibliotecas y el framework no te obliga a usar una estructura especifica.

Sin embargo FastAPI como su propio nombre indica es mucho más veloz que otros frameworks web de Python, y posee integracion con bibliotecas modernas como Pydantic,

Entre algunsa de sus caracteristicas esta:

  • Es autodcoumetado, es decir puede generar documentación con Swagger o a partir de tu código
  • Soporta código asincrono (Async I/O Library)
  • viene con bibliotecas para validaciones, y escritura de tipos de datos gracias a Pydantic

FastAPI no viene con un servidor de desarrollo pero puede resolver esta necesidad gracias a bibliotecas como Daphne or Uvicorn.

Y aunque su comunidad en comparación es aun pequeña en comparación, esto podria cambiar al estar el framework en constante actualización.

Django

Mientras que Flask y FastAPI son considerados Microframeworks, al ser frameworks pequeños que necesitan de otros paquetes para crear apps grandes, Django es el framework Open Source de Python más completo que tenemos actualmente, usandolo puedes crear rapidamente aplicaciones con paquetes ya integrados en el framework.

Entre las caracteristicas de Django tenemos:

  • Permite dividir una aplicación grande en multiples partes llamadas apps
  • Permite autneticar usarios facilmente
  • Posee un ORM (Object Relational Mapping) integrado, el cual permite hacer consultas SQL sin la necesidad de escribir código SQL, aunque tambien es posible hacerlo si lo necesitas
  • Tambien genera migraciones automaticamente
  • Posee una Interfaz de administración o panel de control, para que no tengas que crearla desde cero, ademas que es facil de personalizar
  • Permite crear Formularios con código
  • Permite ejecutar Validaciones de datos

Y como el framework es muy popular hay mucha información ademas que su documentación esta bastante detallada.

Con Django puedes crear aplicaciones web de multiples Páginas (MPAs) principalmente, pero tambien puedes crear REST APIs, usando modulos como Django Rest Framework los cuales extienden a Django con funciones para poder serializar datos, y servir contenido en formato JSON, ademas que tambien puedes crear GraphQL APIS usando modulos como Graphene.

Django si te da un estructura de proyectos y recomendaciones de como organizar tus archivos, asi que este framework es ideal para aquellos que ya quieren la mayor cantidad de funcionalidades y solo enfocarse en crear la logica de negocio.

Otros Frameworks

Por supuesto estos no son los unicos frameworks para crear aplicaciones en Python, otras opciones son:

Conclusión

Como puedes ver en Python existen varios Frameworks para crear apicaciones web, pero la gran mayoria ofrece basicamente lo mismo, asi que si vas a querer crear tu proyecto es recomendable ir por los frameworks web más populares como Django, Flask o FastAPI.

Sí estas empezando en el mundo del desarrollo web apenas, te recomendaría ir por Flask, es un framework que puede empezar muy pequeño, y hay mucha información, con el no solo puedes aprender las bases del desarrollo backend sino que estarás escribiendo tu propio código la mayor parte del tiempo.

Pero si ya tienes muy en claro conceptos basicos del backend como (Routing, conexion a bases de datos, servir archivos estaticos, modularizacion y temas similares) FastAPI es una opción más moderna y que puede facilitarte mucho el desarrollo, ademas que es similar a desarrollar en Flask.

O si lo tuyo es crear multiples proyectos y no quieres hacer las mismas tareas una y otra vez, o buscas un Framework que te de la mayor cantidad de código ya hecho y testeado, puedes ir por Django, aprenderlo toma más tiempo que los frameworks anteriores en comparación, pero una vez sepas sus bases, el framework se convierte una herramienta muy productiva.

Actualizado por ultima vez el

Esta es una lista de Frameworks web backend desarrollados en Python que te permiten crear aplicaciones web dinamicas. Entre estos podemos encontrar a Django, Flask y FastAPI.

¿Quieres Compatir mi Contenido?

Publicado:hace 2 años

Actualizado:hace 2 años