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

今天在微信羣討論了很多Blazor是否可以正常用的問題。大家爭的面紅耳赤的。

於是趁着無聊,就水了這麼一篇文。

還記得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開發知識的公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章