Frasco o CherryPy: ¿Qué marco de Python debería usar?

Si es un desarrollador de Python, puede beneficiarse enormemente de la variedad de marcos disponibles. Si bien algunos marcos son más adecuados para grandes ecosistemas, otros se especializan en cumplir objetivos de desarrollo específicos. Siga leyendo para conocer las características básicas, los usos y las diferencias entre dos marcos de Python: Flask y CherryPy.

Características del matraz

Flask es un micro-framework de Python que puedes usar para desarrollar aplicaciones web. Este marco gratuito de código abierto es compatible con los principales sistemas operativos como Windows, Mac y Linux. Basado en Werkzeug y Jinja 2, este marco minimalista admite una amplia capacidad de expansión.

También puede agregarle todas y cada una de las funcionalidades necesarias mientras desarrolla aplicaciones complejas. Esta arquitectura lo ayuda a escribir una aplicación web efectiva agregando bibliotecas y módulos mientras mantiene el núcleo de su proyecto simple y escalable.

Relacionado: Frameworks web que vale la pena aprender para desarrolladores

Además de ofrecerle varias herramientas y utilidades para un desarrollo rápido, le brinda la opción de seleccionar la base de datos, los motores de plantilla y los servidores de su elección. Si usa Flask, no necesita escribir código para la administración de subprocesos y protocolos. Este marco confiable admite el procesamiento de solicitudes sincrónico y las pruebas unitarias integradas.

Ofrece algunas convenciones de almacenamiento de datos y plantillas que puede cambiar fácilmente. Aunque no tiene un panel de administración incorporado, puede usar la extensión Flask-Admin. Es compatible con backends como SQLAlchemy, MongoEngine, Peewee, etc.

Las características principales de esta arquitectura son fáciles de aprender. Puede obtener ayuda de los recursos en línea, que son numerosos.

Características de CherryPy

CherryPy es otro marco pitónico adecuado para construir cualquier aplicación web orientada a objetos. Este marco confiable de código abierto es compatible con todos los sistemas operativos populares como Windows, Mac y Linux. La arquitectura CherryPy ofrece facilidades para codificación, almacenamiento en caché, cookies, sesiones, archivos estáticos, autorización, compresión, etc.

CherryPy es un marco extensible que le permite usar todas las bibliotecas y herramientas de Python sin problemas. Puede escalar la aplicación creada con esta arquitectura cuando la aplicación necesite manejar más usuarios. También puede utilizar su servidor HTTP para alojar sus aplicaciones.

Esta arquitectura presenta una sintaxis relativamente simplista. Por esta razón, aprender e implementar CherryPy no es nada difícil. Los componentes reutilizables de este marco modular contribuyen a la velocidad y eficiencia del desarrollo de aplicaciones. Sus módulos independientes reducen la complejidad al emplear la abstracción de datos.

Diferencias entre Flask y CherryPy

Ahora, echemos un vistazo a los puntos de contraste entre estos dos marcos de Python.

1. Seguridad de las aplicaciones

En Flask, obtendrá prácticas preventivas sólidas contra Cross-Site Scripting y seguridad JSON. Sin embargo, debe configurar la Política de seguridad de contenido (CSP) como su encabezado de respuesta para proteger sus datos de la falsificación de solicitudes entre sitios (CSRF).

El núcleo del marco CherryPy viene con una suite que puede probar y depurar su aplicación de manera eficiente. Aparte de esto, tiene características integradas que lo ayudan en procesos como codificación de código, almacenamiento en caché, sesiones y autorización de usuarios, sesiones y almacenamiento en caché.

2. Plantillas de desarrollo web

Los archivos de plantilla contienen un conjunto de datos estáticos y también permiten incorporar más datos dinámicos. Flask puede ofrecerle plantillas para el documento final, gracias al soporte del motor de plantillas Jinga.

HTML admite las aplicaciones Web Server Gateway Interface (WSGI) que pueden recibir solicitudes reenviadas desde servidores web. Desafortunadamente, no obtendrá un sistema de plantillas HTML de CherryPy. Pero es compatible con WSGI, lo que le permite convertir una aplicación web en una aplicación WSGI.

Sin embargo, es fácil integrar sistemas de plantillas populares como Mako, Jinja2 o Cheetah en este marco.

3. Bibliotecas externas

Flask tiene numerosas bibliotecas y utilidades externas. Puede implementarlos en las tareas comunes de su proyecto a través de una rápida integración. Además, Flask tiene una comunidad rica y desarrollada que garantiza soluciones rápidas y efectivas siempre que surja un problema.

CherryPy es un marco altamente escalable y flexible que hace que la integración con cualquier biblioteca estándar de Python sea simple y sin esfuerzo. Sin embargo, una comunidad relativamente pequeña de esta arquitectura no ofrece soluciones o herramientas específicas.

Dado que este marco minimalista y liviano ofrece solo algunas características básicas, la falta de soluciones a menudo afecta a los desarrolladores que lo usan.

4. Bases de datos compatibles

Aunque Flask no ofrece ningún marco ORM integrado, puede utilizar bibliotecas o extensiones de código abierto como Flask-SQLAlchemy y Flask-Pony. Esta arquitectura es una opción ideal para desarrollar bases de datos NoSQL. Tiene acceso a bibliotecas o extensiones de código abierto que admiten bases de datos NoSQL como MongoDB, CouchDB, Cassandra y DynamoDB.

De manera similar, puede usar CherryPy para administrar bases de datos relacionales usando bibliotecas y extensiones de Python. Sin un marco ORM incorporado, tiene la libertad de elegir su extensión preferida.

5. Popularidad

Si desea comparar la popularidad entre estos dos marcos de Python, Flask es el claro ganador. Reunió 56.5K estrellas en GitHub y actualmente tiene 627 colaboradores. Cuando se trata de oportunidades laborales, muchas organizaciones incluyen Flask como un requisito al contratar desarrolladores de Python.

A pesar de ser más antiguo que Flask, CherryPy es la opción menos popular en la comunidad de desarrolladores. Recibió 1.4K estrellas en GitHub y actualmente tiene 113 colaboradores en la misma plataforma.

Cuándo usar Flask y CherryPy

Aunque CherryPy tiene más de 18 años, el novato comparativo Flask está muy por delante en términos de popularidad. Sin embargo, eso no significa que solo deba optar por el último. Descubra cuándo debe utilizar cualquiera de estos marcos.

1. Alcance del matraz para el mejor uso

Puede usar Flask en varios escenarios, como:

  1. Si eres una startup y quieres utilizar un marco escalable que puedas expandir de acuerdo a tu crecimiento
  2. Cuando es necesario crear API web simplistas
  3. Cuando desee crear aplicaciones web a gran escala
  4. Si necesita documentación clara para el trabajo de desarrollo
  5. Cuando necesita construir un prototipo para cualquier proyecto

2. Alcance del mejor uso de CherryPy

Puede utilizar esta joya infravalorada de las herramientas web de Python en los siguientes casos:

  1. Si está buscando un marco para crear API REST con herramientas integradas
  2. Si desea desarrollar aplicaciones a pequeña escala a un ritmo rápido
  3. Cuando no necesita muchos recursos y plantillas para su proyecto
  4. Si es un desarrollador web experimentado que no necesita ninguna documentación de marco coherente
  5. Cuando la flexibilidad no es su máxima prioridad

Relacionado: Cómo construir API en Python: 8 marcos populares

Utilice el marco más adecuado para las aplicaciones de Python

El marco de Python correcto hace que el proceso de resolución de problemas sea perfecto. Ahora que sabe cuándo usar Flask y CherryPy, puede dejar de lado todos sus dilemas. También puede explorar las diferencias entre otros marcos de Python. Le ayuda a utilizarlos sabiamente para cumplir sus objetivos de desarrollo web lo mejor que pueda.