Blazor WebAssembly 3.2.0 正式起飛,blazor 適合你嗎?

最近blazor更新很快,今天在官方博客上發佈了Blazor WebAssembly 3.2.0 RC:https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-release-candidate-now-available/ ,這是最後一次預覽版了,功能開發都已經完成。html

image

5.19的微軟Build大會上就正式發佈了,我最近也在積極的研究學習blazor,在博客和公衆號發了幾篇最新版本發佈的文章,在評論區仍是微信羣,有人問我,爲何你對blazor如此熱情,這些同窗都在使用vue/angular/react等前端框架,blazor正好是利用WebAssembly 開發的前端框架,編程語言從js變成了c#, 我以爲若是您對你的前端技術棧感到滿意,你能夠繼續使用如今你所用的框架繼續前進,也許blazor並不適合你 ,巧的是最近vue3 也發佈了beta版本,vue3 要真正普及也是須要至少一年的時間,blazor 能夠充分的吸取前端技術棧的精華,爲我所用,我將在文章的末尾列出一些blazor 吸取前端技術圈的成果的開源項目。前端

blazor適用於編寫內部應用程序,企業應用開發人員開發的B2B和B2C的應用程序都適合使用blazor開發,如今已經有不少企業應用開發人員接受了JavaScript,還有許多企業開發人員沒有,特別是winform,wpf 等開發人員,他們特別但願可以高效的的完成開發工做,這裏面有不少的開發人員都很認同Sliverlight 是他們交付Web應用程序的捷徑,一朝被蛇咬,十年怕井繩,有人認爲blazor 只是 Silverlight vNext。咱們爲何要相信微軟此次不會殺死它?這種觀點能夠理解,可是將blazor 的將來與Sliverlight的過去混爲一談是荒謬的。vue

Silverlight是瀏覽器插件模型的犧牲品。2010年Flash是瀏覽器上很是流行的插件,史蒂夫-喬布斯(Steve Jobs)殺死了他,iOS設備上不支持Flash,當時Silverlight 也是如日中天,微軟親手殺死了它,擁抱了Html5這種無插件模型,相比之下,blazor是在WebAssembly標準之下的現代瀏覽器中運行,每一個主流瀏覽器(IE11除外),甚至是iOS設備上的Safari 都支持blazor,這裏要吐槽下微信裏面的哪一個瀏覽器貌似支持不太好。咱們能夠將WebAssembly視爲在JavaScript運行所在的沙箱中運行的二進制編譯代碼,blazor 正式藉助於WebAssembly 實現了將.NET 運行時運行在瀏覽器中。這個運行時處理 JavaScript 互操做,並提供基本服務(如垃圾回收)和更高級別的功能(佈局、路由和用戶界面小部件等)。換句話說,blazor使用了一個駐留在另外一個虛擬機中的虛擬機,堪稱《盜夢空間》級別的悖論,也是一種在瀏覽器中運行非 JavaScript 應用程序框架的巧妙方法。react

運行時使得blazor 和 WebAssembly 上運行的其餘語言不同凡響,MonoCLR 編譯爲WebAssembly。任何.NET Standard 2.1的代碼均可以在上面運行,這樣就能夠把.NET生態的大量庫帶到前端開發,其餘的語言只實現了直接編譯爲WebAssembly,blazor當前利用WebAssembly 的一個獨特創新,據我所知,尚未一個相似於blazor這樣的WebAssembly運行時存在。git

blazor 真正是一個組件模型,組件模型也很優雅,blazor的綁定模型也很容易理解。事件模型和標準的C# 同樣,隨着諸如DevExpress、Telerik、Radzen、Syncfusion等控件廠商提供了大量的控件,企業應用開發人員有理由開始blazor之旅。InfoQ的一篇文章《Mono 現狀與將來: 從 Xamarin 到 WebAssembly、Blazor 及.NET 5》有助於你們理解blazor和.NET的關係。github

我這裏也指望JavaScript的開發同窗一塊兒來使用這項創新的前端開發框架,人們常常說,WebAssembly 並非用來代替 JavaScript 的。但這句話對全部革命性平臺都是同樣的。JavaScript 當初並非要取代嵌入瀏覽器的 Java。Web 應用程序並不是旨在替代桌面應用。但一旦能作到這些,它們必然會走上那條路。 在社區也出現了大量的blazor 開源項目,這項開源項目都是急需前端開發同窗的參與:web

    • 開源項目 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編程

  • Bootstrap 是 Blazor基於Bootstrap ,這個UI庫目前只有服務器端,客戶端wasm模式等正式版出來會搞

       倉庫地址:https://gitee.com/LongbowEnterprise/BootstrapBlazor c#

       演示地址:blazor.sdgxgz.com瀏覽器

  • Blazui  Element的blazor版本,用 .NET 寫前端的 UI 框架

       倉庫地址:https://github.com/wzxinchen/Blazui

       演示地址 http://blazui.com:9000

  • Blazorise 是一個組件庫,基於 像Bootstrap, Bulma 和Material 等CSS frameworks

      github:https://github.com/stsrki/Blazorise 

      官網:https://blazorise.com/

  • Skclusive-UI Component library for Blazor using Material Design.

      github: https://github.com/skclusive/Skclusive.Material.Component   

  • Material Design components for Blazor and Razor Components

      github:https://github.com/SamProf/MatBlazor 

github的倉庫: https://github.com/AdrienTorris/awesome-blazor 收集了更全面的blazor 和webassembly相關的資料。

相關文章
相關標籤/搜索