Frameworks y Microframeworks en python. Teoria

Flask

Sorprende el nombre de microframework, respecto a su significado, por lo que se ha ganado una entrada en este blog.

En el desarrollo de software, el uso de frameworks es bastante normal, o si no eres de los que los usa, deberias probarlos. Hay muchos, de todos los lenguajes de programación, y que se ajustan bastante a lo que necesitas. Algunos son bastante sencillos, otros más complejos, pero todos tienen en común: un esqueleto que ayuda en el desarrollo de tareas de programación.

En Javascript, el framework más famoso es jQuery, que facilita (y mucho) la programación Web, sobre todo a los que les cuesta programar en Javascript (mi caso, por ejemplo, pues éste es el lenguaje en el que menos me gusta programar, pero al que reconozco su importancia en la actualidad).

Microframeworks

En Python, y si te decicas a programar Web, es muy común el uso de microframeworks, que no implica que las aplicaciones de una sola página tengan necesariamente que estar escritas en un solo fichero (aunque puede ser). Tampoco significa que tengan carencias en funcionalidad, sino que intenta tener un “armazón” simple y extensible.

El caso de Flask

Uno de esos microframeworks es Flask, donde su liviano de tamaño no significa que sea fácil, ni con una funcionalidad limitada, sino que es flexible ante las opciones, y son las extensiones las que van mejorando la funcionalidad adaptada a cada tarea a resolver. Además, no impone ninguna tecnología específica, sino que se adapta a las necesidades del proyecto. Un ejemplo es que no dispone de una “capa” específica para trabajar con bases de datos, pero sí librerías para ello.

Micro no significa fácil

Y es que puede parecer que por anteponer “micro“, la cosa sea sencilla. Ni mucho menos.  Flask se caracteriza porque es bastante personalizable, dispone de una importante abanico de valores por defecto con los que trabajar, y seguir unas cuantas convenciones:

  • Las plantillas y los ficheros estáticos estarán guardadas en subdirectorios, dentro del arbol donde se encuentra la aplicación principal, y que serán “templates” y “static”.
  • Y poco más …

La filosofía de Flask es “las tareas simples deben ser simples” (simple tasks should be simple).

En las próximas entradas utilizaré para los ejemplos este microframework, que es el que estoy empleando ultimamente para tareas rutinarias, pequeñas aplicaciones y script a los que quiero poner una interfaz grafica fuera de Tkinter (del que hemos hablado ampliamente en www.manejandodatos.es), PySide, etc, etc, ….

En esta entrada doy pistas sobre una decisión que he tomado respecto a seguir trabajando con Python, y que será el tema principal de la siguiente entrada.

Buen día.