python cms tornado_都2020年了,python的tornado框架还有用武之力么?
本屌來(lái)回答下,一直比較喜歡用tornado,原因也很簡(jiǎn)單,在很早期的版本上就支持異步了。
django早就用爛了,要說(shuō)做個(gè)單人項(xiàng)目貌似還沒(méi)有更好的選擇了,然而django那些convention實(shí)在是太麻煩,另外db migration也感覺(jué)不好用,想要定制化還得仔細(xì)學(xué)習(xí)一下很麻煩。
flask更微型,好處更多,大部分功能可以自由的選型,不受限制,定制化更方便點(diǎn),學(xué)習(xí)成本也更低。
不過(guò)這倆都不支持異步,所以也就是做個(gè)單體的后端渲染的東西。
tornado一直麻煩就麻煩在它的接口對(duì)使用者很不友好,不論比起flask還是django,都要麻煩很多,所以初期學(xué)習(xí)成本極高,在還有沒(méi)asyncio的時(shí)代,我還把它當(dāng)一個(gè)協(xié)程庫(kù)用,比如做些事件驅(qū)動(dòng)的編程。當(dāng)然使用tornado你可以獲得極大的自由,和flask一樣,除了http相關(guān)的功能你都可以自由選型,定制化能力高。說(shuō)到這里分享一個(gè)以前對(duì)tornado的封裝,有興趣可以看看,其實(shí)只要稍微加點(diǎn)代碼基本就可以像flask一樣同tornado。https://github.com/OldDriverPickMeUp/meeepo_api?github.com
不過(guò)說(shuō)老實(shí)話也挺久沒(méi)寫(xiě)python了。
再說(shuō)說(shuō)后來(lái)的aiohttp,在aiohttp這個(gè)庫(kù)出現(xiàn)以后,其實(shí)再做api server的時(shí)候我就有點(diǎn)傾向于使用aiohttp,原因也很簡(jiǎn)單,它的使用接口要比tornado簡(jiǎn)單的多,也具有可以高度定制化的能力。所有tornado在貌似是5以后的版本就用asyncio的ioloop換掉了它原來(lái)的那個(gè)ioloop。
似乎到現(xiàn)在為止tornado似乎一直在向不好的方向發(fā)展。
提一點(diǎn),tornado我認(rèn)為比aiohttp強(qiáng)的設(shè)計(jì)在于它的多進(jìn)程模式,這個(gè)模式下非常好擴(kuò)展同時(shí)也好運(yùn)維。至于aiohttp再生產(chǎn)模式下要更麻煩一些。
至于說(shuō)django和flask,這倆做做私活可以,稍微要是做個(gè)產(chǎn)品,稍微拆幾個(gè)服務(wù),有點(diǎn)用戶維護(hù)個(gè)一陣,這個(gè)不支持異步是有點(diǎn)蛋疼。
最后總結(jié)下,torando,aiohttp,flask定制化程度高,未來(lái)演化能力強(qiáng),django即插即用,比較方便。flask,django同步。其中tornado最復(fù)雜,能實(shí)現(xiàn)的事情也最多。
結(jié)論就是,其實(shí)tornado不看也罷,畢竟有更簡(jiǎn)單的aiohttp,而且我看招聘的時(shí)候提t(yī)ornado的現(xiàn)在也少了不少。
總結(jié)
以上是生活随笔為你收集整理的python cms tornado_都2020年了,python的tornado框架还有用武之力么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 分页携带请求参数_一个值得深思的小问题
- 下一篇: python调用打印机驱动下载_sele