Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué marcos están disponibles en Python?

¿Qué marcos están disponibles en Python?

Hace unos días, un amigo me dejó un mensaje que decía: ¿Cuándo habrá un resumen útil del marco de Python (la lista en este artículo es solo una parte y no incluye todos los marcos de Python)? , así nació el artículo de hoy. (De repente me siento muy bien)

Recomendación 1: Django (aprendizaje recomendado: video tutorial de Python)

Django debería ser el marco de Python más famoso, GAE e incluso Erlang tienen marcos que lo admiten eso Influencia. Django está tomando una dirección grande y completa. Es más famoso por su backend de administración totalmente automatizado: solo necesita usar ORM y hacer definiciones de objetos simples, y puede generar automáticamente una estructura de base de datos y un backend de administración con todas las funciones.

Ventajas:

Marco de trabajo de código abierto, con soporte de documentación perfecto

Muchas soluciones, más soporte de funciones internas

URL elegante, una completa sistema de enrutamiento

Gestión en segundo plano de autoservicio

Desventajas:

El sistema está estrechamente acoplado y es muy difícil reemplazarlo con su tercero favorito. biblioteca, incluso si la usas con algunos parches, te resultará muy incómodo.

El ORM que viene con Django es mucho menos poderoso que SQLAlchemy.

La función de plantilla es relativamente débil y no puede insertar código Python. Para escribir una lógica más compleja, debe usar Python para implementar etiquetas o filtros.

Recomendación 2: Flask

Flask es un framework de aplicaciones web ligero escrito en Python. Basado en la caja de herramientas Werkzeug WSGI y el motor de plantillas Jinja2. Flask también se denomina "microframework" porque utiliza un núcleo simple y extensiones para agregar funcionalidad adicional. Flask no tiene una base de datos o una herramienta de validación de formularios utilizada de forma predeterminada.

Ventajas:

Flask es más flexible que Django. Antes de usar Flask para crear una aplicación, brindará a los desarrolladores más flexibilidad al seleccionar componentes y puede haber algunos escenarios de aplicación. no es adecuado para utilizar un ORM (mapeo relacional de objetos) estándar o necesita interactuar con diferentes flujos de trabajo y sistemas de plantillas.

Desventajas:

Flask es solo un kernel y se basa en dos bibliotecas externas de forma predeterminada: el motor de plantillas Jinja2 y el conjunto de herramientas Werkzeug WSGI. Muchas otras funciones están integradas en forma de extensiones. .

Recomendación 3: Scrapy

Scrapy es un marco de raspado de pantalla y raspado web rápido y de alto nivel desarrollado en Python, que se utiliza para rastrear sitios web y extraer estructuras de páginas. Scrapy se usa ampliamente y puede usarse para extracción de datos, monitoreo y pruebas automatizadas.

Ventajas:

Scrapy es un marco de rastreo muy poderoso. No solo puede construir solicitudes fácilmente, sino que también tiene un selector poderoso que puede analizar respuestas fácilmente. popular Lo que más importa es su rendimiento, tanto la velocidad de rastreo como de análisis, su descargador es multiproceso y las solicitudes se programan y procesan de forma asincrónica. Estos dos puntos hacen que su velocidad de avance sea muy rápida.

Además, hay módulos integrados de registro, excepción, shell y otros, que aportan mucha comodidad al trabajo de rastreo.

Desventajas:

Scrapy es un marco encapsulado. Incluye un descargador, analizador, registro y manejo de excepciones. Se basa en procesamiento retorcido y de subprocesos múltiples para sitios web únicos fijos. Tiene ventajas en el desarrollo de rastreo, pero para rastrear 100 sitios web desde varios sitios web, no es lo suficientemente flexible en términos de procesamiento concurrente y distribuido, y es inconveniente de ajustar y expandir.

Recomendación 4: Tornado

Tornado es una versión de código abierto del software de servidor web. Existe una clara diferencia entre Tornado y los principales marcos de servidores web actuales (incluida la mayoría de los marcos de Python): es un servidor sin bloqueo y bastante rápido.

Ventajas:

Tornado se destaca al proporcionar infraestructura para aplicaciones que requieren un control estricto sobre los detalles de la red asincrónica. Por ejemplo, Tornado no solo proporciona un servidor HTTP asíncrono integrado, sino también un cliente HTTP asíncrono. Por lo tanto, Tornado es ideal para crear aplicaciones, como web scrapers o bots, que consultan otros sitios en paralelo y operan con los datos devueltos.

Desventajas:

Hay muchos módulos de terceros para elegir en las partes de plantilla y base de datos, lo que no favorece la encapsulación en un módulo funcional.

Recomendación 5: Web2py

web2py es un framework de aplicaciones web con todas las funciones proporcionado para el lenguaje Python. Está diseñado para desarrollar aplicaciones web de forma ágil y rápida, de forma rápida, segura y. Base de datos portátil. Aplicación de controlador, compatible con Google App Engine.

Ventajas:

El mayor atractivo de Web2py es su entorno de desarrollo integrado. Cuando configura una instancia de Web2py, se le proporciona una interfaz web, esencialmente un editor de aplicaciones Python en línea, donde puede configurar los componentes de su aplicación. Esto generalmente significa crear modelos, vistas y controladores, cada uno de los cuales se describe a través de módulos Python o plantillas HTML.

Desventajas:

Una limitación importante de Web2py es que sólo es compatible con Python 2.x. Primero, esto significa que Web2py no puede usar la sintaxis asincrónica de Python 3. Si confía en bibliotecas externas que son exclusivas de Python 3, no tendrá suerte. Sin embargo, se está trabajando para hacer que Web2py Python3 sea compatible y está a punto de completarse en el momento de escribir este artículo.

Recomendación 6: Weppy

Weppy se siente como el punto medio entre el estilo minimalista de Flask y la integridad de Django. Si bien el desarrollo de aplicaciones Weppy tiene la franqueza de Flash, Weppy tiene muchas características que se encuentran en Django, como la capa de datos y la autenticación. Por lo tanto, Weppy es adecuado para aplicaciones que van desde extremadamente simples hasta moderadamente complejas.

Ventajas:

La documentación de Weppy tiene el mismo estilo que el propio framework. Es limpio, legible y está destinado al consumo humano. Además de los ejemplos habituales de aplicaciones de "hola mundo", también contiene un buen tutorial que le permite crear un sistema Weibo como proyecto para principiantes.

Desventajas:

Aunque Weppy tiene un mecanismo de extensión, la lista de complementos aprobados oficialmente es pequeña, mucho más pequeña que el directorio de extensiones de Flask.

Recomendación 7: Botella

La botella puede considerarse un minifrasco porque es más compacto y conciso que otros "micromarcos". Debido a su tamaño mínimo, Bottle es ideal para su inclusión en otros proyectos o para la entrega rápida de proyectos pequeños como las API REST.

Ventajas:

Bottle no requiere tanta documentación como otros frameworks, pero la documentación no es tacaña. Todo el material clave cabe en una única (aunque larga) página web. Además de esto, encontrará documentación completa para cada API, ejemplos de cómo implementarla en diversas infraestructuras, explicaciones del lenguaje de plantillas integrado y una colección de recetas comunes.

Desventajas:

Una consecuencia del minimalismo de Bottle es que algunas características simplemente no existen. No se admite la validación de formularios, incluida la protección CSRF y otras funciones. Si desea crear una aplicación web que admita un alto grado de interacción del usuario, deberá agregarla usted mismo.

Para obtener más artículos técnicos relacionados con Python, visite la columna de tutoriales de Python para obtener más información.