.NET 5下的Blazor是否能夠大規模正式使用?

今天在微信羣討論了不少Blazor是否能夠正經常使用的問題。你們爭的面紅耳赤的。css

因而趁着無聊,就水了這麼一篇文。後端

還記得Blazor還在預覽版的時候,我就開始關注Blazor了。瀏覽器

那會兒調試Blazor還得在瀏覽器地址欄輸入一堆命令,調試都賊不方便。打包出來也是很大,瀏覽器也很卡頓。服務器

能夠從如下幾個方面來講一下爲何我認爲Blazor能夠在小規模的正式環境中使用。以及哪些地方不太適用Blazor微信

1.包大小

可是現在幾年過去了。Blazor從一開始的一堆好幾M的庫,到如今5.0版本框架

Hello World的包大小已經縮減到一百多kb左右了。固然如今依然無法和Vue NG這樣的能縮減到50kb如下的框架來比。(這點大小我認爲不影響框架加載速度)優化

2.功能對比

一個優秀的SPA框架,各方面也要優秀。咱們能夠使用Blazor對比一下Vue.js的功能。動畫

Vue.js Blazor
模板 支持 支持
狀態管理 支持 不支持
動畫組件 支持 不支持
路由組件 支持 支持
組件庫數量
組件庫質量
使用人數
服務器渲染 支持 支持
插件

以上對比來本身我我的的主觀使用。插件

.NET 5.0讓我以爲眼前一亮的是提供一個虛擬滾動組件:Virtualize 這個功能Vue.js至今沒有官方實現。可是Blazor竟然提供了。這裏要給微軟點個贊。調試

3.適用場景以及不適用的場景

從Blazor的文檔來看,Blazor基本沒有對老舊瀏覽器有一個良好的支持。

瀏覽器環境

若是有須要兼容IE10或者11+版本的需求,不要選擇Blazor。不挑選瀏覽器環境的話,能夠選擇Blazor。移動端 TO b項目能夠選擇Blazor。 To c慎重(畢竟to c客戶不能要求別人換瀏覽器)

CSS功力

爲何我會有提出這個點呢?由於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開發知識的公衆號

相關文章
相關標籤/搜索