Previamente les hablamos sobre Sinatra, un diminuto framework para el desarrollo web en Ruby, pero Python no se queda atrás y tiene a Flask que es un microframework desarrollado por Armin Ronacher que te permite crear aplicaciones web en un abrir y cerrar de ojos, todo con una cantidad absurdamente pequeña de líneas de código.

¿Qué tiene de bueno Flask?

Flask, a diferencia de Django y Pyramid, no trae cientos de módulos para abordar las tareas más comunes en el desarrollo web, más bien se enfoca en proporcionar lo mínimo necesario para que puedas poner a funcionar una aplicación básica en cuestión de minutos. Es perfecto, por ejemplo, para el prototipado rápido de proyectos.

Incluye un servidor web de desarrollo para que puedas probar tus aplicaciones sin tener que instalar algo como Nginx o Apache. También trae un depurador y soporte integrado para pruebas unitarias. Tiene un excelente soporte para Unicode y es compatible 100% con WSGI 1.0.

Entre las cosas más hermosas que tiene este microframework están el esquema de rutas y la documentación. Con el decorador de rutas puedes hacer que tu aplicación responda a peticiones totalmente RESTful con URLs lindas y en la documentación encontrarás cualquier cosa que necesites saber para poner a andar tu aplicación explicado de manera simple y con ejemplos.

flask2

¿Quieres más? Pues Flask soporta el uso de cookies seguras y se apoya en el motor de plantillas Jinja2, otra creación hermosa de Ronacher que es simplemente genial para renderizar vistas y respuestas.

Flask no tiene ORMs, wrappers o configuraciones complejas, eso lo convierte en un candidato ideal para aplicaciones ágiles o que no necesiten manejar ninguna dependencia. Eso no quiere decir que no puedas usar Flask con motores de bases de datos o con cualquier otra cosa que necesites, simplemente instala a mano las dependencias que necesites y úsalas dentro de Flask. Es así de simple.

Este framework resulta ideal para construir servicios web (como APIs REST) o aplicaciones de contenido estático.

¿Cómo lo uso?

Usarlo es simple. Hagamos una demostración con un “Hola mundo”. Primero instalamos Flask vía pip:

$ pip install Flask


Luego creamos el archivo hola_mundo.py con el siguiente contenido:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hola mundo"

if __name__ == "__main__":
    app.run()


Ahora ejecutamos Flask y abrimos en nuestro navegador una nueva pestaña apuntando a http://localhost:5000/:

$ python hola_mundo.py
 * Running on http://localhost:5000/


Y ¡voilá! Tenemos una aplicación web corriendo con menos de 10 líneas de código. Increíble, ¿no?

Flask no solamente es genial por sus características, también es Open Source y está amparado bajo una licencia BSD. Puedes chequear su código en Github, darle un vistazo a la documentación o suscribirte a su lista de correos para mantenerte al día con las actualizaciones.

Definitivamente es divertido hacer aplicaciones con Flask, no dejes de probarlo y experimenta lo que se siente programar si complicaciones.