給你飛速體驗(yàn)的五大新型Python框架!
譯文【51CTO.com快譯】如果舊的Python網(wǎng)絡(luò)與Web庫的速度無法滿足您的需求,那么這些新型框架將帶來更快速的體驗(yàn)。
更快、更簡(jiǎn)單,更“Python化”——這就是Python生態(tài)系統(tǒng)中各類新型Web框架的***訴求。雖然對(duì)各類選項(xiàng)進(jìn)行一一嘗試也未嘗不可,但從Python2.x到Python3.x的巨大飛躍確實(shí)帶來了各種潛在改進(jìn)空間,其中也包括一套***適合網(wǎng)絡(luò)框架庫的強(qiáng)大異步事件。在今天的文章中,我們將介紹五款面向Python的新型Web與網(wǎng)絡(luò)框架,它能夠切實(shí)提升速度表現(xiàn)、充分發(fā)揮突破性新特性,同時(shí)帶來實(shí)現(xiàn)新思路的更多可行途徑。
1.Sanic
Sanic的概念非常簡(jiǎn)單:提供一套基于Flask語法的Web框架,但同時(shí)將Python 3.5及更高版本中的極速異布事件處理程序納入其中。結(jié)果就是,這款框架能夠?qū)lask原本的每秒4988項(xiàng)請(qǐng)求處理能力瞬間提升至33000項(xiàng)以上,而延遲亦削減至原本的十分之一。其中亦包含路由與中間件。我們還不清楚現(xiàn)有應(yīng)用是否已經(jīng)開始大規(guī)模利用Sanic替代Flask,但只要親身嘗試,大家就會(huì)發(fā)現(xiàn)其可觀的速度提升效果。
2.Eve
如果大家希望構(gòu)建Web服務(wù),并利用快速方法使用各類已知組件,那么Eve正是為此而生。其利用Flask作為Web框架,同時(shí)可接入MongoDB、SQL-Alchemy、Elasticsearch或者Neo4js后端以實(shí)現(xiàn)數(shù)據(jù)訪問。該項(xiàng)目的開發(fā)者反復(fù)強(qiáng)調(diào)其部署簡(jiǎn)易性:要實(shí)現(xiàn)在線API,您只需要一套數(shù)據(jù)庫、一個(gè)配置文件(默認(rèn)為settings.py)以及一套啟動(dòng)腳本。
3.Morepath
Morepath宣稱其是一套“超級(jí)強(qiáng)大”的Python Web框架,且僅需要***設(shè)置空間。其設(shè)計(jì)目標(biāo)在于讓各類典型用例得以快速啟動(dòng)與運(yùn)行,其中包括將常見Python數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為RESTful Web服務(wù)。其還擁有一項(xiàng)特殊功能:它能夠自動(dòng)將Morepath中定義的路徑轉(zhuǎn)換為鏈接,從而創(chuàng)建出具備簡(jiǎn)潔URL的應(yīng)用。
4.ButterflyNet
如果大家希望擁有一套能夠默認(rèn)實(shí)現(xiàn)異步性與安全性的網(wǎng)絡(luò)庫,那么ButterflyNet絕對(duì)值得一試。其僅支持Python 3.5及更高版本,因?yàn)槠涫褂胊syncio庫以實(shí)現(xiàn)自身功能,但能夠僅利用十余行代碼即設(shè)置起服務(wù)器并為其提供必要的證書與密鑰。感興趣的朋友可以點(diǎn)擊此處查看一套聊天室示例,僅需75行代碼即可實(shí)現(xiàn)。
5.Uvloop
憑借著“迅如閃電的Python網(wǎng)絡(luò)”這一宣傳口號(hào),我們實(shí)在很難忽視Uvloop的存在。Uvloop屬于asyncio事件循環(huán)的替代性方案,因此其既可作為全新基于asyncio應(yīng)用的運(yùn)行基礎(chǔ),亦可在現(xiàn)有應(yīng)用中直接替代asyncio。它還獲能夠與Python加速機(jī)制Cython進(jìn)行協(xié)作,因此其關(guān)鍵部分代碼實(shí)際上是由C語言編寫的。其***聲稱,它“在速度上至少比Node.js、gevent以及其它任何Python異步框架快2倍”,不過大家***實(shí)際測(cè)試以了解其具體效果。
原文鏈接:
http://www.infoworld.com/article/3133854/application-development/5-wicked-fast-python-frameworks-you-have-to-try.html
原文標(biāo)題:5 wicked-fast Python frameworks you have to try
原文作者:Serdar Yegulalp
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】