【51CTO.com快译】如果旧的Python网络与Web库的速度无法满足您的需求,那么这些新型框架将带来更快速的体验。
更快、更简单,更“Python化”——这就是Python生态系统中各类新型Web框架的***诉求。虽然对各类选项进行一一尝试也未尝不可,但从Python2.x到Python3.x的巨大飞跃确实带来了各种潜在改进空间,其中也包括一套***适合网络框架库的强大异步事件。在今天的文章中,我们将介绍五款面向Python的新型Web与网络框架,它能够切实提升速度表现、充分发挥突破性新特性,同时带来实现新思路的更多可行途径。
1.Sanic
Sanic的概念非常简单:提供一套基于Flask语法的Web框架,但同时将Python 3.5及更高版本中的极速异布事件处理程序纳入其中。结果就是,这款框架能够将Flask原本的每秒4988项请求处理能力瞬间提升至33000项以上,而延迟亦削减至原本的十分之一。其中亦包含路由与中间件。我们还不清楚现有应用是否已经开始大规模利用Sanic替代Flask,但只要亲身尝试,大家就会发现其可观的速度提升效果。
2.Eve
如果大家希望构建Web服务,并利用快速方法使用各类已知组件,那么Eve正是为此而生。其利用Flask作为Web框架,同时可接入MongoDB、SQL-Alchemy、Elasticsearch或者Neo4js后端以实现数据访问。该项目的开发者反复强调其部署简易性:要实现在线API,您只需要一套数据库、一个配置文件(默认为settings.py)以及一套启动脚本。
3.Morepath
Morepath宣称其是一套“超级强大”的Python Web框架,且仅需要***设置空间。其设计目标在于让各类典型用例得以快速启动与运行,其中包括将常见Python数据结构转换为RESTful Web服务。其还拥有一项特殊功能:它能够自动将Morepath中定义的路径转换为链接,从而创建出具备简洁URL的应用。
4.ButterflyNet
如果大家希望拥有一套能够默认实现异步性与安全性的网络库,那么ButterflyNet绝对值得一试。其仅支持Python 3.5及更高版本,因为其使用asyncio库以实现自身功能,但能够仅利用十余行代码即设置起服务器并为其提供必要的证书与密钥。感兴趣的朋友可以点击此处查看一套聊天室示例,仅需75行代码即可实现。
5.Uvloop
凭借着“迅如闪电的Python网络”这一宣传口号,我们实在很难忽视Uvloop的存在。Uvloop属于asyncio事件循环的替代性方案,因此其既可作为全新基于asyncio应用的运行基础,亦可在现有应用中直接替代asyncio。它还获能够与Python加速机制Cython进行协作,因此其关键部分代码实际上是由C语言编写的。其***声称,它“在速度上至少比Node.js、gevent以及其它任何Python异步框架快2倍”,不过大家***实际测试以了解其具体效果。
原文链接:
http://www.infoworld.com/article/3133854/application-development/5-wicked-fast-python-frameworks-you-have-to-try.html
原文标题:5 wicked-fast Python frameworks you have to try
原文作者:Serdar Yegulalp
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】