Tutorial para preparar el entorno y empezar a desarrollar aplicaciones en Flask

- Andrés Cruz

In english
Tutorial para preparar el entorno y empezar a desarrollar aplicaciones en Flask

En este tutorial vamos a aprender a instalar Flask en nuestro equipo, independientemente del sistema operativo en el cual te encuentres; ya que Flask es multiplataforma ya que está soportado en Python; pero antes de esto, vamos a introducir, ¿qué es Flask?.

¿Qué es Flask?

De acuerdo a la documentación oficial que puedes encontrar en el siguiente enlace: es un microframework basado en Jinja2 y Werkzeug; aquí hay varias palabras un poco extrañas que vamos a abordar a continuación.

Flask es un pequeño framework (un micro framework) que proporciona las herramientas y funciones necesarias para crear nuestras aplicaciones, contiene lo mínimo como sería un motor de plantilla y el ruteo y acceso HTTP y todo esto con Python como lenguaje de programación soportado por este framework.

¿Qué es un microframework?

Un microframework simplemente significa que el framework solamente contiene lo básico para poder funcionar; si también desarrollar en CodeIgniter del cual tenemos muchisima informacion en nuestro blog, sabrás que CodeIgniter es un framework pequeño con muchas funcionalidades pero carece de unas tantas.

Flask en su definición básica es más simple que CodeIgniter, no dispone de librerías o módulos para emails, control de usuario etc; solamente tenemos el ruteo de las funciones y la definición de los templates, y por supuesto, acceso a toda la API de Python, al estar el framework escrito en este lenguaje de programación.

Flask es extensible: El microframework con el que crear grandes proyectos

Lo comentado en el párrafo anterior no significa que flask solamente sirva para desarrollos básicos, por el contrario es extensible mediante módulos que los podemos instalar mediante la herramienta de gestión de paquetes o módulos de python, y tenemos modulos de todo tipos tal cual detallamos y explicamos los más importantes en el curso más completo sobre Flask en espanol:

Al conocer Flask, te darás cuenta que nada tiene que envidiar a otros frameworks como Django, es un framework completo con el que desarrollar todo tipo de aplicaciones, sencillas y no tan sencillas.

Jinja2 y Werkzeug

Jinja2 es el motor de plantillas que emplea Flask y el Werkzeug es la librería que contiene distintas utilizadas o funciones para el HTTP, como la definición de ruteos, redirecciones, etc: también es nuestro WSGI que es la interfaz de Python que nos permite comunicarnos mediante HTTP

¿Por qué Python Flask?

Seguramente cuando escuchas programación web con Python, te viene a la cabeza Django que es un excelente framework web para Python que ya contiene todo lo necesario para hacer nuestras apps, pero Flask al ser la mínima expresión de un framework o microframework tenemos más control sobre los distintos elementos de nuestro framework, instalar justamente lo necesario y además es más fácil de aprender que Django. Esto no quiere decir que Flask sea mejor que Django o viceversa, son simplemente dos versiones diferentes para un mismo objetivo que es el desarrollo de apps webs con Python; en mi opinión Flask nos funciona excelente en proyectos de pequeña o mediana envergadura mientras que podríamos emplear Django para proyectos más grandes.

"Flask Python viene siendo el CodeIgniter de php y Django viene siendo el Laravel de php"

Para cerrar esta sección, te muestro una pequeña y mínima app en Flask:

@app.route('/') def hello_world():    return 'Hola mundo Flask' 

Y esto es todo lo que necesitamos para hacer un hola mundo en Flask (por supuesto una vez instalado el framework); un archivo con la definición anterior, en donde tenemos el ruteo gracias a nuestro Werkzeug, la función que viene siendo la acción o función de nuestro controlador y la respuesta que es simplemente un texto y por lo tanto en este momento no estamos empleando el motor de plantillas de Jinja2; ahora, en django necesitamos muchisimo mas que esto para empezar a trabajar y de aquí lo comentado anteriormente

¿Por qué aprender Python y Flask para desarrollar nuestras aplicaciones?

Python es un lenguaje excepcional, lo emplean empresas tan importantes como microsoft que cuentan con cursos gratis sobre como comenzar en este lenguaje de programación, es rápido, multiplataforma y fácil de aprender en comparación con otros como el antigua Java.

Y lo mejor de todo

Es que si sabes Python puedes crear, desde apps de escritorio, juegos, Inteligencia Artificial (IA) procedimientos de probabilidades y por supuesto, crear apps webs como mencionamos anteriormente; inclusive, Python es el lenguaje de programación seleccionado para crear el famoso Blender.

Por lo tanto, es un lenguaje excepcional, en constante crecimiento y que mejor que emplearlo en la programación web, que es la creación de sistemas que están en constante demanda y crecimiento, de tal manera, que con esto puedes tener múltiples ventajas como crecimiento profesional, ya que en resumidas cuentas, Flask es el mejor framework web que puedes seleccionar si estas aprendiendo a programar y/o creando tus primeras apps webs en general o basadas en Python.

Instalar Flask para Python

Finalmente vamos a llegar al punto que nos interesa, instalar Flask, que como Python es multiplataforma recuerda que con tan solo tener Python en sus últimas versiones es suficiente para seguir esta guia y con esto hacerte con tu Flask; para instalar Flask lo podemos hacer mediante pip: pip install flask

Y con esto estamos listos, con ejecutar el siguiente comando:

pip freeze | grep flask

Veras la versión que tienes instalado de Flask; y con esto puedes seguir con el siguiente tutorial:

Extra: seleccionando el editor

Ahora, para el editor puedes emplear cualquiera con que te sientas agusto para trabajar con Python pero yo en lo personal te recomiendo Visual Studio Code, que es multiplataforma y puedes desarrollar todo tipo de proyectos basados en otros framework en un mismo editor.

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.