Para empezar, un framework es un conjunto de herramientas de software que se utilizan para poder trabajar en la creación de aplicaciones, webs, etc.
También llamado entorno de trabajo o marco de trabajo, tiene como objetivo facilitarnos la vida a los programadores, suelen ser multilenguaje, aunque hay algunos específicos para lenguajes concretos.
Nosotros nos centraremos en Frameworks para Python y detallar algunas de las características de los mejores que hay actualmente.
Django
Es gratuito y de código abierto, escrito completamente en Python y facilita enormemente la creación de sitios webs complejos. Es uno de los más potentes, tiene una gran comunidad detrás, mucha documentación y opciones de soporte gratuito y de pago.
Entre algunas de sus características tenemos: Mapeador objeto-relacional, aplicaciones que pueden instalarse en cualquier página gestionada con Django, API de base de datos, sistema de vistas genéricas que nos ahorra el tener que escribir ciertas tareas comunes, sistema de plantillas con etiquetas y herencia entre plantillas, etc.
Recomendado para programadores que quieran desarrollar algo con potentes herramientas y de forma rápida.
Flask
Es un pequeño y ligero Framework basado en Python, es de código abierto y nos permite hacer páginas webs dinámicas. Posee una buena documentación, código de GitHub y lista de correos.
Alguna de sus características son: Incluye un servidor web de desarrollo, tiene depurador y soporte integrado para pruebas, es compatible con Python 3 y wsgi, soporta el uso de cookies seguras, se pueden usar sesiones, etc.
CherryPy
Es un Framework minimalista para Python, de código abierto y con mas de 10 años de antigüedad.
Entre sus características podemos resaltar: un servidor web WSGI, herramientas integradas para almacenamiento en cache, codificación, sesiones, autenticación, contenido estático, personalizable, sistema de complementos, etc.
Bottle
Micro Framework rápido, simple y liviano para Python. La mejor característica de este framework es que no es complejo, se aprende fácilmente y tiene una buena documentación. Proporciona herramientas mínimas al desarrollador, enrutamiento, plantillas y una mini abstracción sobre WSGI. Puede ejecutarse en Python 3. Solo lo recomendaríamos para crear una API web o desarrollar algo simple.
Y vosotros, ¿Qué framework usáis? ¿Cuál es vuestro favorito? Nosotros en nuestro Máster en Programación avanzada en Python para Big Data, Hacking y Machine Learning, trabajamos con Django y pensamos que es uno de los más potentes y completos actualmente.