最近翻Microsoft Doc文檔時候,看到了dotnetcore 3.0新加的Blazor(官方傳送門),初看覺得不錯
- 使用 C# 代替 JavaScript 來創建豐富的交互式 UI。
- 共享使用 .NET 編寫的服務器端和客戶端應用邏輯
- 將 UI 呈現為 HTML 和 CSS,以支持眾多瀏覽器,其中包括移動瀏覽器。
使用 .NET 進行客戶端 Web 開發可提供以下優勢:
- 使用 C# 代替 JavaScript 來編寫代碼。
- 利用現有的 .NET 庫生態系統。
- 在服務器和客戶端之間共享應用邏輯。
- 受益於 .NET 的性能、可靠性和安全性。
- 始終高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
- 以一組穩定、功能豐富且易用的通用語言、框架和工具為基礎來進行生成。
有點感覺是vue的意思了,所以隨便擼了幾行代碼,剛好也寫了個成語接龍(github傳送門)的小玩意兒,界面做得比較丑,將就一下。
目前Blazor還是預覽版狀態,使用下來有一些感受:
1. 基礎的事件,組件,數據綁定還是不錯的,基本可以不用寫一行js就能實現不錯的功能,但是如果要用於實際開發,還遠遠不夠。
2.對比了nodejs的一些功能,對於sass,scss,less等一些新的css預處理語言還需要支持一下,不過還是可以用node-sass轉成css,但是感覺太麻煩
3.在組件庫開發的過程中,css文件還不是很清楚怎么在組件內部引用,也沒有vue里scope的概念。
4.對於一個Web UI框架,調試過程中大部分時間可能是樣式的調整,雖然也有dotnet watch可以檢測到文件變更重新編譯,靜態css文件變更還是需要手動刷新瀏覽器,而不像vue一樣變更可以立即反應到瀏覽器上。
總體用下來,基本上是入門到放棄的過程,Blazor還是和目前流行的一些前端框架有不小的差距。