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. 客觀看待媒體的觀點,媒體說的並不都是正確的,這麼大個人了,要有自己的判斷與觀點。


分享到:


相關文章: