08.23 主流python web 框架的比较与选择

主流python web 框架的比较与选择

前面有几篇是介绍Flask框架的,有小伙伴问到python那么多web框架,为啥选择Flask,能不能介绍一下主流框架以及如何选择的问题。

于是,今天,我就来搬运知识了,以下为学习董伟明的书所得。

主流python web 框架的比较与选择

目前主流的python web框架有以下几种:

Django:是python使用最广泛的web框架之一。有非常齐备的官方文档,提供了一站式成熟可靠的解决方案,包含缓存,ORM,管理后台,验证和表单处理等。适合开发复杂的数据库驱动的网站。不过,由于提供的是一站式的解决方案,系统的耦合度高,不容易替换内置的功能,学习曲线也比较高。

Flask:之前有介绍过,只保留核心功能,其他都能自由选择,也是最流行的python web框架之一。

Pyramid:国内知名度不太高,缺乏中文文档,它也是Flask一样的小框架,不过性能比Flask高。

Bottle:微框架,特点是单文件,代码只使用了python的标准库,只有4000多行的代码。

Tornado:它是一个非阻塞式web服务器,这是与其他框架明显的区别,且速度相当快,每秒可以处理数以千计的连接。

web.py:由著名的黑客大神Aaron Swartz开发。使用基于类的视图,简单易学但功能强大。

主流python web 框架的比较与选择

对于如何选择框架,我非常赞同董伟明总结的原则,没有固定最好,只有最适合,一些选择原则如下:

  1. 选择更主流的,文档齐全的,社区活跃的,这有利于学习和得到更好的支持。
  2. 关注框架的活跃情况,包括更新频率,Issue等,如果许久没有更新了,或者一堆问题很长时间没有得到回应,那么放在生产环境时就要慎重考虑了。
  3. 根据自己的需求来选,每个框架都有优点与缺点的,只要max{优点符合你的需求>缺点}即可
  4. 关注媒体时效性,选择时参考最新的技术文章,以前不太被看好的,并不意味着现在不被看好
  5. 客观看待媒体的观点,媒体说的并不都是正确的,这么大个人了,要有自己的判断与观点。


分享到:


相關文章: