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