在Python語(yǔ)言中,主要有3個(gè)框架,它們是:Flask、Django、Tornado,各有各的獨(dú)特優(yōu)勢(shì),也是學(xué)習(xí)Python時(shí)必須掌握的框架,那么它們之間有什么區(qū)別呢?讓我們來看看介紹。
Django:Python世界中功能最全的Web開發(fā)框架,功能齊全,可維護(hù)性強(qiáng),開發(fā)速度快。人們常說Django很慢,其實(shí)慢的主要是DjangoORM和數(shù)據(jù)庫(kù)的交互,所以是否選擇使用Django要看項(xiàng)目對(duì)數(shù)據(jù)庫(kù)交互性和各種優(yōu)化的要求。至于Django的同步特性導(dǎo)致的吞吐量低的問題,其實(shí)可以通過Celery等解決,不是根本問題。Django代表的項(xiàng)目有:Instagram、Guardian等。
Flask:它是微框架的典范,也是用Python代碼編寫的最好的項(xiàng)目之一。Flask框架非常靈活,但它也是一把雙刃劍。如果Flask用得好,就可以做成Pinterest。如果用得不好,不會(huì)有太大的效果。雖然Flask是一個(gè)微框架,但它也可以做成一個(gè)大規(guī)模的Flask。另外Flask可以自由選擇自己的數(shù)據(jù)庫(kù)交互組件,加入celeryredis等異步特性后,flask框架的性能非常好,很多團(tuán)隊(duì)選擇flask框架的主要原因是對(duì)靈活性的要求。
Tornado:天生的異步和強(qiáng)大,這就是它的代名詞。與Django相比,Tornado是一個(gè)比較原始的框架,很多內(nèi)容需要自己處理。但是隨著項(xiàng)目的不斷壯大,框架能夠提供的功能比例越來越小,更多的內(nèi)容需要團(tuán)隊(duì)自己去實(shí)現(xiàn),大項(xiàng)目往往需要性能保證,Tornado在這個(gè)時(shí)候是一個(gè)非常好的選擇。代表項(xiàng)目:知乎等。