Python三大主流框架的對比


相信做Python這一塊的程序員都有聽說這三個框架,就像神一樣的存在,每一個框架的介紹我就不寫出來了,感興趣可以自己百度了解了解!下面我就說正事

  • Django:Python 界最全能的 web 開發框架,battery-include 各種功能完備,可維護性和開發速度一級棒。常有人說 Django 慢,其實主要慢在 Django ORM 與數據庫的交互上,所以是否選用 Django,取決於項目對數據庫交互的要求以及各種優化。而對於 Django 的同步特性導致吞吐量小的問題,其實可以通過 Celery 等解決,倒不是一個根本問題。Django 的項目代表:Instagram,Guardian。
  • Tornado:天生異步,性能強悍是 Tornado 的名片,然而 Tornado 相比 Django 是較為原始的框架,諸多內容需要自己去處理。當然,隨着項目越來越大,框架能夠提供的功能占比越來越小,更多的內容需要團隊自己去實現,而大項目往往需要性能的保證,這時候 Tornado 就是比較好的選擇。Tornado項目代表:知乎。
  • Flask:微框架的典范,號稱 Python 代碼寫得最好的項目之一。Flask 的靈活性,也是雙刃劍:能用好 Flask 的,可以做成 Pinterest,用不好就是災難(顯然對任何框架都是這樣)。Flask 雖然是微框架,但是也可以做成規模化的 Flask。加上 Flask 可以自由選擇自己的數據庫交互組件(通常是 Flask-SQLAlchemy),而且加上 celery +redis 等異步特性以后,Flask 的性能相對 Tornado 也不逞多讓,也許Flask 的靈活性可能是某些團隊更需要的。

總結,蘿卜白菜各有所愛,然而機器的效率(程序的性能)與程序員的效率(可維護性、開發速度)是一對矛盾。選擇什么樣的架構組合,取決於產品的特性以及團隊的能力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM