¿Qué es Flask? Y cómo funciona

que-es-flask

Flask es un framework web en Python de código abierto y ligero que permite desarrollar aplicaciones web de manera rápida y sencilla.

A diferencia de frameworks más complejos como Django, Flask es minimalista.

Además, proporciona solo las herramientas esenciales para construir aplicaciones web.

Y eso hace que a los desarrolladores puedan agregar extensiones según sus necesidades.

Índice
  1. ¿Cómo funciona Flask? ⚙️
    1. 📌 Qué es WSGI
    2. 📌 Qué es Werkzeug:
  2. 🚀 Ejemplo para entender WSGI y Flask
  3. ¿Cómo crear una aplicación con Flask? 🏗️
    1. 1️⃣ Instalar Flask
    2. 2️⃣ Crear una aplicación Flask
    3. 3️⃣ Explicación del código 🧐
    4. 4️⃣ Ejecutar la aplicación 🏃‍♂️
  4. ¿Por qué es importante Flask? 🤔
  5. Relación con otros conceptos clave 🔗
  6. Preguntas frecuentes (FAQs) ❓
    1. ¿Flask es mejor que Django?
    2. ¿Flask soporta bases de datos?
    3. ¿Puedo usar Flask en producción?
  7. Conclusión

¿Cómo funciona Flask? ⚙️

Flask se basa en WSGI (Web Server Gateway Interface) y usa Werkzeug como su motor subyacente.

Pero,

¿qué significa esto?

📌 Qué es WSGI

Es un estándar de Python que permite que las aplicaciones web se comuniquen con los servidores web.

Y por eso Flask usa WSGI para recibir peticiones de usuarios y enviar respuestas.

📌 Qué es Werkzeug:

Es una librería que proporciona herramientas para manejar solicitudes HTTP, enrutamiento y otras funciones esenciales en Flask.

En pocas palabras, Flask es como el "cerebro" de la aplicación, mientras que WSGI actúa como el "intérprete".

Es decir, el que se encarga de hablar con el servidor web y transmitir la información entre el usuario y Flask.


🚀 Ejemplo para entender WSGI y Flask

Imagina que tienes una tienda de hamburguesas 🍔 y un cliente hace un pedido.

1️⃣ El cliente (navegador) hace una petición: "Quiero una hamburguesa con queso."

2️⃣ El camarero (WSGI) recibe el pedido y lo traduce para la cocina.

3️⃣ El chef (Flask) cocina la hamburguesa y la coloca en el plato.

4️⃣ El camarero (WSGI) lleva la hamburguesa al cliente.

En este caso, Flask es quien maneja la lógica (como el chef), mientras que WSGI se encarga de recibir y entregar las solicitudes (como el camarero).

¿Cómo crear una aplicación con Flask? 🏗️

Vamos a construir una aplicación básica en Flask que devuelva un mensaje cuando alguien acceda a la página principal.

1️⃣ Instalar Flask

Antes de empezar, instala Flask con:

pip install flask

2️⃣ Crear una aplicación Flask

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "¡Hola, bienvenido a mi aplicación Flask!"

if __name__ == '__main__':
    app.run(debug=True)

3️⃣ Explicación del código 🧐

✔️ Flask(__name__): Crea la aplicación Flask.
✔️ @app.route('/'): Define una ruta para la página principal (/).
✔️ def home():: Funciona como la "cocina" que prepara la respuesta.
✔️ app.run(debug=True): Inicia el servidor en modo debug para ver errores en tiempo real.

4️⃣ Ejecutar la aplicación 🏃‍♂️

Guarda el archivo como app.py y ejecútelo con:

python app.py

Luego, abre tu navegador y ve a http://127.0.0.1:5000/.

Entonces, deberías ver el mensaje ¡Hola, bienvenido a mi aplicación Flask! 🎉

¿Por qué es importante Flask? 🤔

Minimalista y flexible: No impone estructuras fijas, permitiendo personalizar cada aspecto de la aplicación.
Fácil de aprender: Ideal para quienes se inician en el desarrollo web con Python.
Extensible: Permite integrar bases de datos, autenticación y más mediante extensiones.
Compatible con Machine Learning e IA: Muy utilizado para exponer modelos de IA mediante APIs REST.

Relación con otros conceptos clave 🔗

🔹 Python: Flask está escrito en Python y es una opción popular para crear aplicaciones web con este lenguaje.
🔹 APIs REST: Flask es ampliamente utilizado para construir APIs REST que permiten la comunicación entre aplicaciones.
🔹 Django: Django es otro framework web en Python, más robusto y con funcionalidades integradas, mientras que Flask es más ligero y flexible.

Preguntas frecuentes (FAQs) ❓

¿Flask es mejor que Django?

Depende del proyecto. Flask es más flexible y ligero, ideal para aplicaciones pequeñas o APIs. Django es mejor para proyectos grandes con necesidades más estructuradas.

¿Flask soporta bases de datos?

Sí, pero no trae una integración nativa. Se pueden usar extensiones como Flask-SQLAlchemy para conectar bases de datos.

¿Puedo usar Flask en producción?

Sí, pero es recomendable utilizar servidores como Gunicorn o uWSGI en lugar del servidor de desarrollo de Flask.

Conclusión

Flask es una excelente opción para desarrollar aplicaciones web rápidas y flexibles en Python.

Su sencillez y extensibilidad lo hacen ideal para APIs, proyectos pequeños o integraciones con Machine Learning.

Si quieres conocer otros artículos parecidos a ¿Qué es Flask? Y cómo funciona puedes visitar la categoría Wiki.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir