Django框架,Flask框架和Tornado框架各有什麼優缺點
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 的靈活性可能是某些團隊更需要的。
一、Django
主要特點是大而全,整合了很多元件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,屬於全能型框架
優點:
大和全(重量級框架)
自帶orm,template,view
需要的功能也可以去找第三方的app
注重高效開發
全自動化的管理後臺(只需要使用起ORM,做簡單的定義,就能自動生成資料庫結構,全功能的管理後臺)
session功能
缺點:
template不怎麼好用(來自自身的缺點)
資料庫用nosql不方便(來自自身的缺點)
如果功能不多,容易臃腫
二、Torando
主要特點是原生非同步非阻塞,在IO密集型應用和多工處理上佔據絕對性的優勢,屬於專注型框架
優點:
少而精(輕量級框架)
注重效能優越,速度快
解決高併發(請求處理是基於回撥的非阻塞呼叫)
非同步非阻塞
websockets 長連線
內嵌了HTTP伺服器
單執行緒的非同步網路程式,預設啟動時根據CPU數量執行多個例項;利用CPU多核的優勢
自定義模組
缺點:
模板和資料庫部分有很多第三方的模組可供選擇,這樣不利於封裝為一個功能模組
三、Flask
主要特點小而輕,原生元件幾乎為0, 三方提供的元件請參考Django 非常全面,屬於短小精悍型框架
優點:
簡單,Flask的路由以及路由函式由修飾器設定,開發人員不需要藉助其他檔案匹配;
配置靈活,有多種方法配置,不同環境的配置也非常方便;環境部署簡單,Flask執行不需要藉助其他任何軟體,只需要安裝了Python的IDE,在命令列執行即可。只需要在Python中匯入相應包即可滿足所有需求;
入門簡單,透過官方指南便可以清楚的瞭解Flask的執行流程;
低耦合,Flask可以相容多種資料庫、模板。
缺點:
對於大型網站開發,需要設計路由對映的規則,否則導致程式碼混亂
本文來源於:
奈學開發者社群,如有侵權請聯絡我刪除
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2707589/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flask框架和Django框架有什麼區別?Flask框架Django
- Flask框架和Django框架有什麼區別?詳細分析!Flask框架Django
- Django、Flask、Tornado的對比?Python三大主流框架!DjangoFlaskPython框架
- Python中Django是什麼?Django框架優點有哪些?PythonDjango框架
- Python基礎知識之Django框架優缺點!PythonDjango框架
- Python學習之Django和Flask框架有什麼區別?PythonDjangoFlask框架
- Django和Flask框架有什麼區別?Python學習分享DjangoFlask框架Python
- flask框架可以做什麼Flask框架
- Web框架之TornadoWeb框架
- 學Flask框架有什麼用?為什麼學習Flask?Flask框架
- 四大主流PHP框架的優點和缺點總結PHP框架
- Flask VS Django,選擇哪個框架好?FlaskDjango框架
- 分享6個Java框架及優缺點介紹Java框架
- Flask基本框架Flask框架
- Tornado框架02-模板引擎框架
- Python主流Web框架之TornadoPythonWeb框架
- 【Django必備01】——什麼是Django框架?有什麼優勢?模組組成介紹。Django框架
- 五大 JAVA Web 框架的優缺點對比JavaWeb框架
- flask框架中的cookie和sessionFlask框架CookieSession
- Django框架之Cookie和SessionDjango框架CookieSession
- 測試用例編寫有哪些方式?各有什麼優缺點?
- python的flask框架PythonFlask框架
- flask 框架日誌Flask框架
- Flask框架入門Flask框架
- Python框架DjangoPython框架Django
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- 乾貨分享!三大Java框架的優缺點對比Java框架
- Python學習之Django和其他Python框架有什麼區別?PythonDjango框架
- 【flask框架】——flask-restful風格Flask框架REST
- Python Django框架是什麼?Python學習入門!PythonDjango框架
- Python開發中,為什麼Django框架很重要?PythonDjango框架
- 開源JAVA單機爬蟲框架簡介,優缺點分析Java爬蟲框架
- 什麼是框架框架
- Python之Flask框架一PythonFlask框架
- flask框架安裝使用Flask框架
- Django是同步框架還是非同步框架Django框架非同步
- wsgiref模組、web框架、django框架簡介Web框架Django
- django REST框架- Django-ninjaDjangoREST框架