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-availa... ...
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