微型pyweb框架點(diǎn)評(píng)(flask/streamlit/reflex)
Flask,Streamlit,Reflex (pynecone) 起因是想做一個(gè)可互動(dòng)的web頁面,大一的時(shí)候?qū)W過前端三件套,會(huì)用jq,但是太麻煩了,所以想找一個(gè)純python的前后端合一的框架,前前后后玩了四個(gè),做個(gè)小總結(jié)。 1,F(xiàn)lask 優(yōu)點(diǎn): 很輕量,開局就寫router,后續(xù)對(duì)http方法的設(shè)計(jì)也很方便,跟python完全接軌。 純后端,你要是會(huì)一些前端框架的話,vue什么的,首選flask。 入門快,學(xué)習(xí)周期短,學(xué)習(xí)刺激強(qiáng),風(fēng)評(píng)與django齊平,做獨(dú)立web開發(fā)綽綽有余。 缺點(diǎn): 沒有前端頁面,html和css要自己寫,沒接觸過前端的同學(xué)可以看第三個(gè)。 2,streamlit 優(yōu)點(diǎn): 可視化,非常好看,十幾行代碼就能做出非常漂亮的頁面。 面向人工智能,mvvm即時(shí)刷新,st專門對(duì)各種數(shù)據(jù)的可視化做了很多工作,好多圖和表的組件,跟python的pandas,numpy,pillow,cv2什么的完美結(jié)合,完全沒有不兼容的問題,而且。 官方送你域名,你可以把webapp放在他們網(wǎng)站上,直接可以訪問,而且可以前后端存儲(chǔ)數(shù)據(jù),不是靜態(tài)網(wǎng)頁。 面向移動(dòng)端,效果像flutter,只需要寫一次,解決桌面和移動(dòng)的問題。 文檔完善,輕易學(xué)會(huì),學(xué)習(xí)成本極低。 缺點(diǎn): 自由度低,做不出復(fù)雜的flex或者grid,sidebar只有一層,只能放在左邊,沒法嵌套,復(fù)雜的位置結(jié)構(gòu)做不出來。 慢,慢的要死,本地測(cè)試的速度就是最慢的,尤其是你放到他官方網(wǎng)站之后,更慢,不過免費(fèi)的東西別這么多矯情????不做畢設(shè)或者會(huì)議報(bào)告,就最好別用了。 網(wǎng)站支持庫(kù)很少,雖然可以自己附帶dependences目錄,需要一個(gè)yaml文件,但是體驗(yàn)感極差,他們服務(wù)器是debian的,一般人也沒接觸過。 3,reflex 優(yōu)點(diǎn): 前后端合一,純python,html頁面和css自動(dòng)生成,寫的感覺像streamlit,運(yùn)行速度像flask。 前端頁面自由度極高,自己設(shè)計(jì)頁面用純python,沒有前端經(jīng)驗(yàn)的同學(xué)也可以直接上手,文檔很全不怕。 缺點(diǎn): 國(guó)內(nèi)完全沒有資源... 臃腫,可以做到flask大部分的內(nèi)容,也可以做到前端的大部分內(nèi)容,代碼量很多,不舒適。 體驗(yàn)感奇怪,感覺既不是在寫前端,又不是在寫后端...