异步Python框架有哪些
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍了异步Python框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、TornadoTornado 根本不是什
千家信息网最后更新 2024年12月12日异步Python框架有哪些
Tornado 根本不是什么新框架,它最初是由FriendFeed(后被Facebook收购)在2009年发布。 从一开始就提供有异步编程的功能。
Tornado 不仅仅是Web框架,同时它内置了很多异步模块,可用于自己构建异步应用。 这些模块包括:
通过这些模块,Tornado 构建了自己的异步Web框架模块。
这篇文章主要介绍了异步Python框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、Tornado
协同程序和其他原语(tornado.gen,tornado.locks,tornado.queues等) 网络模块(tornado.ioloop,tornado.iostream) 异步服务器和客户端(tornado.httpserver,httpclient,等)
通过这些模块,Tornado 构建了自己的异步Web框架模块。
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
Tornado在Python社区中拥有很多追随者,并且经验丰富的架构师使用它们来构建功能强大的系统。 这个框架长期以来一直在解决并发问题,但是由于它不支持WSGI标准(大部分Python库仍在同步中),因此尚未成为主流。
国内据说知乎是基于Torando构建的。
2、 Snaic
Sanic是一个诞生有3年的框架: 它只支持3.6以上Python版本,支持通用的async / await语法,开箱即用,因此你无需阅读大量文档就可以写出你的一个HTTP 处理器。
除了 async
关键字之外,语法上和 flask 基于没差别。
from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
return json({"hello": "world"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
Sanic可以说是Python世界中最流行和最受欢迎的异步框架。 它具有你项目中需要的所有功能: 路由,中间件,Cookie,版本控制,蓝图,基于类的视图,静态文件,流,sockets,此外你还可以集成模板,数据库驱动,文件I / O,队列等等。
3、Vibora
Vibora和Sanic非常像,致力于成为最快的Python Web服务器。 他们网站首页有一个框架比较图:
Vibora声称比其它框架快几倍,比竞争对手Sanic还快两倍多。 当然,这个基准测试要持怀疑态度。
尽管在语法和功能上,Vibora可以与Sanic媲美但我认为Sanic更加成熟,因为它已经存在了很长一段时间并且具有更大的社区。
from vibora import Vibora, JsonResponse
app = Vibora()
@app.route('/')
async def home():
return JsonResponse({'hello': 'world'})
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8000)
4、Quart
如果您喜欢Flask,但又要支持异步, 那么Quart你一定会喜欢
Quart符合ASGI标准,该标准是WSGI标准的后继产品,并提供异步支持。 Quart不仅与Flask相似,而且与Flask API兼容! 该框架的作者希望保留了Flask的风格,只是向其中添加异步、WebSocket和HTTP 2支持。 因此,你可以从Flask文档中学习Quart的用法,只需要记住Quart中的函数是异步的就行。
from quart import Quart
app = Quart(__name__)
@app.route('/')
async def hello():
return 'hello'
app.run()
几乎完全像Flask
由于Quart是从Flask中演进过来的,因此Flask的所有功能均可用: 路由,中间件,会话,模板,蓝图等。 实际上,你甚至可以直接在Quart内部使用Flask的扩展插件。 不过,有一个问题是它仅支持Python 3.7+。
5、FastAPI
FastAPI似乎是异步 Python 框架里功能、文档最丰富的框架。
该框架的作者深入研究了其他几个框架,从诸如Django到Sanic之类的现代框架,以及NestJS(Node.js,Typescript Web框架)。
语法甚至可以说它比我们遇到的其他框架更有趣:
rom fastapi import FastAPI
app = FastAPI()
@app.get("/users/me")
async def read_user_me():
return {"user_id": "the current user"}
@app.get("/users/{user_id}")
async def read_user(user_id: str):
return {"user_id": user_id}
FastAPI胜过其他框架的杀手锏, 自动生成API文档:
编写API接口后,你就可以使用符合标准的UI如SwaggerUI,ReDoc等来使用API。
那性能呢? FastAPI是基于Starlette库构建的,其性能可与Node相匹配,在某些情况下甚至可以与Go相匹配。 总而言之,我真的有一种感觉,FastAPI将成为Python的顶级异步框架。
感谢你能够认真阅读完这篇文章,希望小编分享的"异步Python框架有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
框架
支持
功能
标准
模块
文档
篇文章
语法
中间件
作者
同时
性能
文件
服务器
模板
版本
社区
蓝图
路由
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
黄埔区数据网络技术开发工艺
deap数据库
帆软数据库查询加两个参数
软件工程专业网络安全
服务器管理口访问
服务器接电瓶供电
网络技术对小学生的影响
谷歌云台湾服务器
数据库视图集成是什么意思
通州区管理软件开发口碑推荐
外挂软件服务器已关闭
广告收集数据库
为什么在软件开发中需要需求
网络安全培训学校介绍
信息网络技术适合女生
什么时候能开一个红月服务器
数据库查询条件输入填什么
多模态语言数据库的优点
论计算机网络安全的论文
第七届国家网络安全日
四川学校时钟同步服务器
奥特兰克和安苏哪个服务器好
服务器供货周期太长
网络安全法网站管理者
数据库怎么快速找出重复项
网络安全工作时长
什么是兼职app软件开发
杭电网络安全研究生好考吗
专业彩票软件开发公司
杭州金安易软件开发有限公