26

Flask, el Framework flexible

735Puntos

hace 5 años

Flask es un microframework web escrito en Python para crear aplicaciones web. Es catalogado como microframework porque su estructura inicial es minimalista, en contraste con un Full Stack Framework, que incluye una interfaz de autenticación para el usuario, un ORM y una arquitectura definida desde el inicio como Django.

Flask no cuenta con ninguna arquitectura definida desde el inicio. Micro no quiere decir que tenga pocas funcionalidades o que no sea capaz de soportar una aplicación súper compleja, sino que su estructura es mínima y la arquitectura y complejidad del proyecto aumentan cuando la lógica de negocio lo requiere.

También podríamos usar un patrón MVC en nuestra aplicación de Flask o cualquier otro patrón de arquitectura, si nuestro proyecto lo requiere. Nuestro directorio de archivos evoluciona a la par de nuestra lógica de negocio. Empezamos con un solo archivo y podemos llegar a miles de archivos si es necesario. Igualmente con Flask podemos crear una API que se comunique directamente con una aplicación web para obtener recursos de una base de datos.

Entonces, si Flask no tiene un sistema de autenticación o un ORM, podríamos crear nuestra propia implementación adecuada a nuestras necesidades o mejor aún, extender las funcionalidades de Flask con alguna librería escrita por la comunidad de Flask, por ejemplo, para autenticar usuarios. Precisamente en Flask las librerías son conocidas como extensiones. Una de ellas es Flask-Login, y sirve autenticar usuarios y manejar sesiones. Otra extensión muy útil para crear una interfaz de usuario es Flask-Bootstrap, con la que obtenemos el HTML, CSS y JS de bootstrap y podemos utilizar sus componentes. En este link puedes ver las extensiones registradas para Flask.

Blueprints es la característica que hace a Flask escalable. Consiste en una forma de modularizar la aplicación en múltiples carpetas. Cada una cuenta con sus propias vistas o rutas y archivos estáticos. Los Blueprints de Flask son como pequeñas aplicaciones. Por ejemplo, la lógica autenticación puede vivir en una carpeta llamada auth y la lógica de manejo de errores en otro directorio llamado errors.

Podemos utilizar Flask para hacer pequeñas funcionalidades que se puedan integrar en otra aplicación, por ejemplo, un sistema de autenticación para una aplicación en Django ya existente en la que no queremos hacer más lógica sino tener un sistema que viva separado de la aplicación principal. Con Flask también podríamos crear una interfaz de línea de comando utilizando decoradores, una serie de scripts para modificar archivos o hacer testing con Python, Netflix utiliza Flask para correr tareas automatizadas y algunas otras aplicaciones, Samsung, Reddit y Red Hat son algunas de las compañías la industria que utilizan Flask.

Programar en Flask es muy divertido, fácil de aprender y es un framework que se adapta a tus necesidades. Podemos crear una aplicación con 4 líneas de código (5 líneas contando el import de Flask) utilizando decoradores para definir rutas y experimentar con varias de sus extensiones y también experimentar con cualquier base de datos, como Neo4j o bases noSQL como Cloud Firestore o tal vez un sistema CLI para automatizar tareas en tu compañía. Si quieres aprender más sobre Flask, toma nuestro curso en Platzi.

Bernardo
Bernardo
cassina

735Puntos

hace 5 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
7
14Puntos
Excelente info al momento estoy super alejado de todo el tema web, pero ahora necesito retomar y actualizarme han salido muchas cosas interesante y entre ellas, flask me engancho un poco seguire indagando 
4
42481Puntos

Excelente artículo. Me habría gustado ver la liga de las extensiones de Flask.

3
21699Puntos

Excelente post @cassina Hoy aprendí más sobre lo que puede hacer Flask. ¿Qué requisitos debo completar antes de tomar éste curso? Saludos.