1.常用的 Python Web 框架对比
Django vs Flask vs Tornado
Django:非常完善大而全框架,内置ORM、Admin等组件,第三方插件较多。
Flask:微框架,插件机制,比较灵活。很多中小公司和个人开发者都非常喜欢使用Flask。Flask优点很多人喜欢它比较灵活,可以使用各种方式组织代码,但是它也有缺点就是过于灵活的话没有统一代码结构很有可能对维护造成一定的困难。所以一些公司它会使用 cookiecutter-flask 模板生成工具来生成统一的项目模板,这样在维护的时候也会比较方便一些,代码格式都比较一致,组织也比较一致。(cookiecutter-flask生成统一的项目模板)
Tornado:异步支持的微框架和异步网络库,它既是是一个web微框架同时也是一个异步网络库,所以也可以用来编写web应用。但是它有一个比较大缺点就是轮子比较少,相关的一些支持和第三方插件非常少。所以有时候写起来需要造很多轮子就会有很多额外的工作,它的生产力可能就不会像Django和Flask那么高。
很多公司其实并不会使用太多的框架混用,因为这样维护成本就比较高,不同的项目都使用的不同框架,所以一般都会有统一的框架或者模板生成。