python 网络请求框架比较_11种新的Python Web框架的比较

从快速的RESTful API到可以为数百万用户提供服务的成熟的Web应用程序,Python一直是构建Web服务的语言。如果您一直在这方面涉猎,那么您可能已经使用了一些最受欢迎的Web框架-Django、Flask、Falcon、Tornado、CherryPy等。

但是,在过去的几年中,诞生了很多新的框架。这些新框架采用了一种全新的方法,重点放在API的性能和表达能力上。

1. Sanic

Sanic称自己为Web服务器和Web框架,编写得很快。它允许使用Python 3.5中添加的`async` /`await`语法,这使您的代码无阻塞且速度更快。Sanic利用`uvloop`和`ujson`来提高性能,但是这些软件包是可选的。

2. Starlette

Starlette是一个轻量级的[ASGI](https://asgi.readthedocs.io/en/latest/)框架,是构建高性能`asyncio`服务的理想之选,旨在用作完整框架或ASGI工具包。它支持WebSocket,GraphQL,进程内后台任务以及基于[requests](https://github.com/psf/requests)构建的测试客户端。

3. Masonite

Masonite是一个以开发人员为中心的Python Web框架,致力于开发包含开发人员工具,该工具具有很多现成的功能以及极其可扩展的体系结构。它具有一个简单而富有表现力的路由引擎,一个简单的迁移系统以及一个称为Orator的出色Active Record风格的ORM。

4. FastAPI

FastAPI是一个现代的高性能Web框架,用于基于标准Python类型提示使用Python 3.6+构建API。它建立在Starlette的基础上,并且是最快的Python框架之一。基于并且完全兼容API的开放标准-[OpenAPI](https://github.com/OAI/OpenAPI-Specification)(以前称为Swagger)和[JSON Schema](http:// json- schema.org/)。

5. Responder

同样基于Starlette,Responder的主要概念是将Flask和Falcon带来的细腻之处整合到一个框架中。它具有内置的生产静态文件服务器,自动的gzip压缩响应,本机GraphQL支持以及使用[requests](https://github.com/psf/requests)的内置测试客户端。

6. Molten

Molten是用于使用Python构建HTTP API的最小,可扩展,快速且高效的框架。Molten可以根据预定义的模式自动验证请求,从而确保您的处理程序仅在给出有效输入后才运行。Molten还支持基于功能的中间件,依赖项注入,并包含“ molten.contrib”包,其中包含现实世界中API通常所需的各种功能,例如配置文件,Prometheus指标,请求ID,会话,SQLAlchemy,模板,websockets等。

7. Japronto

Japronto是一个快速,可扩展的异步Python 3.5+ HTTP工具包,与基于uvloop和的HTTP服务器流水线集成在一起picohttpparser。它面向速度爱好者,喜欢管道的人和早期采用者。目前没有新的项目开发,但也没有被放弃。

8. Klein

Klein是一个微框架,用于使用Python开发可用于生产环境的Web服务。它是“微型”的,因为它具有类似于Bottle和Flask的非常小的API。它不是“微型”的,因为它依赖于标准库之外的东西。这主要是因为它基于广泛使用和经过良好测试的组件(例如Werkzeug和Twisted)构建。

9. Quart

Quart是Python ASGI网络微框架。它旨在提供最简单的方法来在Web上下文中使用asyncio功能,尤其是在现有的Flask应用程序中。这是可能的,因为Quart API是Flask API的超集。Quart旨在成为一个完整的Web微框架,因为它支持HTTP / 1.1,HTTP / 2和websocket。

10. BlackSheep

BlackSheep是一个异步Web框架,用于构建基于事件的非阻塞Python Web应用程序。它受Flask和ASP.NET Core的启发。BlackSheep支持通过类型注释或约定自动绑定请求处理程序的值。它还支持依赖项注入,并实现使用外部库处理身份验证和授权的策略。

11. Cyclone

Cyclone是一个Web服务器框架,将Tornado API实现为Twisted协议。这个想法是将Tornado优雅而直接的API桥接到Twisted的Event-Loop,从而实现大量受支持的协议。这种结合为构建混合服务器提供了基础,该混合服务器能够非常有效地处理HTTP,同时还可以同时服务或使用电子邮件,ssh,sip,irc等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值