今天在微信羣討論了不少Blazor是否能夠正經常使用的問題。你們爭的面紅耳赤的。css
因而趁着無聊,就水了這麼一篇文。後端
還記得Blazor還在預覽版的時候,我就開始關注Blazor了。瀏覽器
那會兒調試Blazor還得在瀏覽器地址欄輸入一堆命令,調試都賊不方便。打包出來也是很大,瀏覽器也很卡頓。服務器
能夠從如下幾個方面來講一下爲何我認爲Blazor能夠在小規模的正式環境中使用。以及哪些地方不太適用Blazor微信
可是現在幾年過去了。Blazor從一開始的一堆好幾M的庫,到如今5.0版本框架
Hello World的包大小已經縮減到一百多kb左右了。固然如今依然無法和Vue NG這樣的能縮減到50kb如下的框架來比。(這點大小我認爲不影響框架加載速度)優化
一個優秀的SPA框架,各方面也要優秀。咱們能夠使用Blazor對比一下Vue.js的功能。動畫
Vue.js | Blazor | |
---|---|---|
模板 | 支持 | 支持 |
狀態管理 | 支持 | 不支持 |
動畫組件 | 支持 | 不支持 |
路由組件 | 支持 | 支持 |
組件庫數量 | 多 | 少 |
組件庫質量 | 高 | 低 |
使用人數 | 多 | 少 |
服務器渲染 | 支持 | 支持 |
插件 | 多 | 少 |
以上對比來本身我我的的主觀使用。插件
.NET 5.0讓我以爲眼前一亮的是提供一個虛擬滾動組件:Virtualize 這個功能Vue.js至今沒有官方實現。可是Blazor竟然提供了。這裏要給微軟點個贊。調試
從Blazor的文檔來看,Blazor基本沒有對老舊瀏覽器有一個良好的支持。
若是有須要兼容IE10或者11+版本的需求,不要選擇Blazor。不挑選瀏覽器環境的話,能夠選擇Blazor。移動端 TO b項目能夠選擇Blazor。 To c慎重(畢竟to c客戶不能要求別人換瀏覽器)
爲何我會有提出這個點呢?由於Blazor的UI組件庫質量一言難盡。
Element-blazor處於斷更狀態。幾個月沒更新了。
Ant-blazor的官網都隨時掛掉。組件也賊卡頓。
惟一感受質量還行的BootStrapBlazor,UI風格有點太老。須要本身調整CSS。(若是對界面要求不高的,能夠使用。)
用Blazor的須要什麼特殊功能的組件的話(如顏色選擇器,Cron選擇器),通常找不到合適的第三方。須要本身動手解決寫組件的問題。
不少長期作純後端工做的老鐵們都以爲寫CSS很費勁。實際上並非,大約在去年7月以前,我也是一個CSS小菜雞。可是去年不知道腦子抽什麼風。想用本身弄一套組件庫出來。因而重溫CSS,閒暇時間也擼了幾十個感受還行的組件庫(後期會開源,基於Vue.js寫的)
若是你正在作一個內部使用的簡單後臺系統,那徹底沒問題。若是你要作一個很複雜且要長期維護的項目,建議等Blazor的進一步優化。
歡迎關注個人公衆號 :qingchengcoding
一個以ASP.NET Core+Vue.js的Web開發知識的公衆號