ASP.NET團隊如期3.16在官方部落格釋出了 Blazor WebAssembly 3.2.0 Preview 4:https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-preview-4-release-now-available/ ,同時在twitter上發了一條資訊帶上了下面這張圖,這張圖很形象的說明了Blazor Webassembly 正在進行最後的準備發射,按照開發計劃,將在下週4.23 釋出Blazor WebAssembly 3.2.0 Preview 5, 完成功能特性的開發,接下來就是5月初發布Blazor WebAssembly 3.2.0 RC了,將在5.19 的微軟Build大會正式發射升空,進入使用C#進行前端開發旅程。
Blazor WebAssembly 3.2.0 Preview 4新增功能:
- 啟動期間訪問主機環境:在
WebAssemblyHostBuilder通過
IWebAssemblyHostEnvironment的
HostEnvironment
屬性公開,在應用環境中的啟動過程中區分(開發,分期,生產等)的細節。如果該應用程式託管在ASP.NET Core應用程式中,則該環境將反映ASP.NET Core環境,因此ASP.NET Core肯定是最佳開發環境,畢竟是親兒子,當然也很樂意成為其他環境下的乾兒子,不管你是使用Java,PHP,NodeJs還是go,Blazor可以作為前後端分離的前端框架讓你使用C#寫前端邏輯。 - 日誌改進:在
WebAssemblyHostBuilder
現在公開一個Logging
型別的屬性ILoggingBuilder
,可以用於配置日誌記錄應用程式,類似於你會如何配置在ASP.NET Core 應用記錄在伺服器上,也就是把Microsoft.Extensions.Logging 帶給了前端,還剩一箇中的配置框架要等到下週釋出Preview 5了 - Brotli 預壓縮: 當釋出Blazor WebAssembly應用程式時,已使用最高階別的Brotli預壓縮,以進一步減小應用程式的大小並消除對執行時壓縮的需求。ASP.NET Core託管的應用程式已經無縫地利用了這些預壓縮的檔案。對於獨立應用程式,您可以配置主機伺服器以將請求重定向到預壓縮檔案。使用預壓縮的檔案,已釋出的Blazor WebAssembly現在為1.8MB,低於之前預覽中的2MB。沒有Bootstrap CSS的最小應用程式減小到1.6MB。
- 並行載入程式集和執行時:Blazor WebAssembly應用程式現在可以並行載入程式集和執行時,從而節省了應用程式載入時間的寶貴時間。
- 簡化應用程式的IL連結器配置:Blazor WebAssembly應用程式提供.NET IL連結器配置檔案,以自定義連結器的行為
- 本地化支援:Blazor WebAssembly應用程式現在支援使用.NET資原始檔(.resx)和附屬程式集進行本地化。
- 智慧提示中的獲得各種Blazor WebAssembly 的API文件
目前Blazor 存在的主要問題就是除錯支援,雖然目前對除錯的支援有一些進展,但是在Visual Studio和Visual Studio Code中的當前除錯經驗仍然存在許多限制。我們可以在Mono的Webassembly的開發問題列表裡看到大量的都是Debugger支援問題https://github.com/mono/mono/milestone/17:
為什麼會出現Blazor?
現代瀏覽器都支援WebAssembly,WebAssembly是一種新的編碼方式,可以在現代的網路瀏覽器中執行二進位制格式檔案,以接近原生的效能執行。Blazor 嘗試使用WebAssembly和Mono將.NET帶回到瀏覽器。除了用C#來開發之外,還可以讓C#執行在瀏覽器(使用WebAssembly)上,這樣dotnet的眾多api我們都可以在瀏覽器使用了。
Blazor文件相對齊全:https://docs.microsoft.com/zh-cn/aspnet/core/blazor/get-started ,官方團隊正在加強這文件,在github 有個issue 在追蹤 https://github.com/dotnet/aspnetcore/issues/20890,歡迎大家參與。
目前我們在開發一個開源專案 ant-design-blazor,目標是成為Ant Design官方認可的Blazor實現,並豐富Blazor生態。現在剛起步,需要有興趣的同學一起參與。
Github:https://github.com/ElderJames/ant-design-blazor
Demo:
https://ant-design-blazor.gitee.io
開發文件:
https://github.com/ElderJames/ant-design-blazor/wiki
Blazor文件:https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-3.1
歡迎任何形式的issue和PR
國內社群還有幾個Blazor相關的庫:
1、Bootstrap 是 Blazor 基於Bootstrap ,這個UI庫目前只有伺服器端,客戶端wasm模式等正式版出來會搞, 倉庫地址:https://gitee.com/LongbowEnterprise/BootstrapBlazor ,演示地址:blazor.sdgxgz.com
2、Blazui 是 Element UI 的 CSS 和 HTML 結構 倉庫地址:https://github.com/wzxinchen/Blazui ,演示地址 http://blazui.com:9000