Django、Flask、Tornado的區別?

 

Django:Python 界最全能的 web 開發框架,battery-include 各類功能完備,可維護性和開發速度一級棒。常有人說 Django 慢,其實主要慢在 Django ORM 與數據庫的交互上,因此是否選用 Django,取決於項目對數據庫交互的要求以及各類優化。而對於 Django 的同步特性致使吞吐量小的問題,其實能夠經過 Celery 等解決,倒不是一個根本問題。Django 的項目表明:Instagram,Guardian。web

 

Flask:微框架的典範,號稱 Python 代碼寫得最好的項目之一。Flask 的靈活性,也是雙刃劍:能用好 Flask 的,能夠作成 Pinterest,用很差就是災難(顯然對任何框架都是這樣)。Flask 雖然是微框架,可是也能夠作成規模化的 Flask。加上 Flask 能夠自由選擇本身的數據庫交互組件(一般是 Flask-SQLAlchemy),並且加上 celery +redis 等異步特性之後,Flask 的性能相對 Tornado 也不逞多讓,也許Flask 的靈活性多是某些團隊更須要的。redis

 


Tornado:天生異步,性能強悍是 Tornado 的名片,然而 Tornado 相比 Django 是較爲原始的框架,諸多內容須要本身去處理。固然,隨着項目愈來愈大,框架可以提供的功能佔比愈來愈小,更多的內容須要團隊本身去實現,而大項目每每須要性能的保證,這時候 Tornado 就是比較好的選擇。Tornado項目表明:知乎。數據庫

相關文章
相關標籤/搜索