tacosdedatos

Giovanny A. Jimenez
Giovanny A. Jimenez

Posted on

¿Django o Flask?

Introducción

Si has programado con Python en algún momento, te habrás dado cuenta que Python es un lenguaje de programación muy versátil y útil, ya que, con solo unas cuantas de lineas de código puedes desde comunicarte con una API, ejecutar aplicaciones web, crear un simple videojuego en 2D, crear una simple calculadora y muchas cosas más, además de que su código es legible y su sintaxis es muy simple, por lo que, si en algún momento quisiste profundizar en este tema y trascender sus capacidades a otros entornos, habrás escuchado de Django y Flask.


Django y flask

Ambos son frameworks (es decir, son complementos de Python que tienen un conjunto de reglas que hace que la programación cambie y tenga un orden diferente a la de la programación regular) enfocados en el desarrollo web, es decir, si quieres implementar el conocimiento que tienes en el lenguaje en un enfoque web, puedes hacerlo usando estos frameworks, que te permiten ejecutar servicios web de una manera demasiado fácil!.

Logo de django

¿Qué es Django? 🐍

Django es un framework de desarrollo web de alto nivel que fomenta el desarrollo rápido y limpio. Fue creado en 2005 por Adrian Holovaty y Simon Willison mientras trabajaban en Lawrence Journal-World, un periódico local en Kansas, Estados Unidos. Desde entonces, Django ha crecido enormemente en popularidad y se ha convertido en una herramienta fundamental en el arsenal de muchos desarrolladores web.

Pero hablemos de mi experiencia en sí con este lenguaje, algo más subjetivo: Django es un framework que, una de sus principales características, es que, es una herramienta que se divide en "aplicaciones", en este caso, cada aplicación son pequeños componentes que complementan a tu web, desde blogs, panel de administración, carrito de compras, registro y demás.
Además de que, es un poco más estricto con la administración del proyecto.

Así luce la estructura de un proyecto en Django:

my_django_project/
│
├── my_django_app/
│   ├── migrations/
│   ├── templates/
│   ├── static/
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
│
├── my_django_project/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
│
└── manage.py
Enter fullscreen mode Exit fullscreen mode
  • my_django_project/: Directorio principal del proyecto Django.
    • my_django_app/: Una aplicación dentro del proyecto.
    • migrations/: Directorio para las migraciones de la base de datos.
    • templates/: Directorio para las plantillas HTML.
    • static/: Directorio para archivos estáticos como CSS, JavaScript, e imágenes.
    • init.py, admin.py, apps.py, models.py, tests.py, views.py: Archivos Python que definen la lógica de la aplicación.
    • my_django_project/: Configuración del proyecto.
    • settings.py: Configuración del proyecto.
    • urls.py: URLs del proyecto.
    • wsgi.py: Punto de entrada WSGI para servidores web.
    • manage.py: Script de administración del proyecto.

Logo de flask

¿Qué es Flask? 🌶️

Flask, por otro lado, es un microframework web que es simple y fácil de usar. Fue creado por Armin Ronacher en 2010 y se ha vuelto muy popular por su simplicidad y su enfoque minimalista. Aunque Flask es más ligero que Django, no carece de potencia y flexibilidad, lo que lo hace ideal para proyectos más pequeños o para aquellos que prefieren una estructura más modular.

Bajo mi experiencia, flask es un framework más flexible, ya que, la estructura de tu proyecto con este framework depende de tí, tú puedes dividir los componentes de tu web en aplicaciones si deseas.

Django en muchas partes del mundo tiene más demanda laboral que Flask, pero te recomiendo primero aprender Flask porque así comprenderás lo básico en el control de rutas y vistas!.

django vs flask

Ambos frameworks tienen sus propias fortalezas y debilidades, y la elección entre Django y Flask depende en gran medida de los requisitos y las preferencias del proyecto en cuestión. Django ofrece una estructura más completa y predefinida para el desarrollo web, lo que puede ser útil para proyectos grandes y complejos que requieren una arquitectura sólida desde el principio. Flask, por otro lado, es más flexible y permite una mayor libertad en la organización del código, lo que puede ser beneficioso para proyectos más pequeños o para aquellos que prefieren una aproximación más "a la medida".

Conclusiones

En resumen, tanto Django como Flask son excelentes opciones para el desarrollo web con Python, y la elección entre ellos dependerá de factores como el tamaño y la complejidad del proyecto, así como las preferencias personales de tu equipo o tú como desarrollador. En próximos posts vamos a hablar más de ello.

😲 Si llegaste hasta acá, te agradezco que hayas leído este post, espero que te haya gustado y servido!!!.

Discussion (1)

Collapse
juniorpeves profile image
Junior Peves 🧑‍💻

Yo he pasado por Flask y lo he notado muy complejo. Django es muy buena y mas rapida de usar.

y FastAPI?