(2017)我不建议使用的Python Web框架

2020-06-19 00:00:00 专区 框架 是一个 推荐 的说

昨天我提了一个问题(2017)你不建议使用的Python Web框架?下面是在原问题下的回答,看过的同学可以点赞关闭了。

--- 分割线 ---

在知乎可以看到的很多Web框架推荐,有很多内容已经过时,有些直接是从网上搜的。我又来树立正确的价值观了。

不推荐 web.py

我以前说过,评价XX是否可以用在生产环境的一部分标准是:

1. 代码质量。web.py的创始人Aaron Swartz自杀(官方说法)后,新的维护者能力实在是...

2. 社区活跃程度和解决issue的能力。自己去github上去看未解决的issue和未合并的pull request数量

3. 项目迭代情况。webpy-0.37 on Jun 26, 2012,webpy-0.38 on Jul 8, 2016。到现在一年就这样过去了然鹅什么都还没有发生。

第二不推荐 bottle

bottle其实是个使用装饰器作为路由的框架,不过它也存在社区活跃程度和解决issue的能力的问题,其实这说明了一个问题,它更像是某个(些)人的玩具,并不关心用户反馈。不知道大家是否知道它和Flask的故事(简单的说Flask 的作者Armin Ronacher开发了Werkzeug推荐给Bottle作者,但是Bottle作者非常执着于“单文件”和“无依赖”,拒绝了使用 Werkzeug,Armin Ronacher就自己写了Flask),如果3-4年前你选择bottle我也是没意见的,现在来看Flask完爆它,哪怕是自己写的demo,你说你用了一个不适合在生产环境中使用框架的意义在哪里?完全没有积累啊。不过客观的说读源码学习写框架倒是可以的

第三不推荐 tornado

别说知乎也在用,用得好不好,用的有多苦他们自己知道 ✧(≖ ◡ ≖✿)。这个就跟豆瓣用Quixote一样,用下来需要造很多轮子,需要很多积累,并不是别人一朝一夕就能用的成熟的。

非常知名的 Web Applications & Frameworks 列了4个框架,除了Django和Flask,还列出了我刚推荐的 Pyramid,以及tornado。bottle、web.py什么的人家一概都不提。而且,我要说重点了,在介绍tornado的时候,Kenneth Reitz着重的加了这样的观点:

I do not recommend using Tornado unless you think you need it.

相关文章