背景 最近一直在搞一件事,就是熟悉Blazor,後期需要將Blazor真正運用到項目內。前期做了一些調研,包括但不限於 Blazor知識學習 組件庫生態預研 與現有SPA框架做比對 與WebForm做比對 自己動手做個演示項目 最終的體驗非常不錯,功能全面。現有的一些SPA思想Blazor基本都有, ...
背景
最近一直在搞一件事,就是熟悉Blazor,後期需要將Blazor真正運用到項目內。前期做了一些調研,包括但不限於
- Blazor知識學習
- 組件庫生態預研
- 與現有SPA框架做比對
- 與WebForm做比對
- 自己動手做個演示項目
最終的體驗非常不錯,功能全面。現有的一些SPA思想Blazor基本都有,現有的WebForm開發思想Blazor基本也包含,甚至提供了混合開發,可以開發PC/移動端應用。
Blazor真正做到了集技術大成於一體,如果我們再給予一些關註度,必成為下一個主流框架!
Blazor目前已經接近30K的star,關註度持續升高。大家也去star吧!
https://github.com/dotnet/aspnetcore
Blazor知識學習
Blazor學習途徑還是推薦官方文檔,全而不亂,井井有條f,從基礎到高級用法,層層遞進。
https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-6.0
其次是Github,Github上各種組件庫、項目模板,提供了充分的學習,借鑒渠道。可以看到Blazor真正在活躍。
https://github.com/search?q=Blazor
一個彙總庫,提供了各個領域Blazor目前現有的一些模板、組件庫,非常全面
https://github.com/AdrienTorris/awesome-blazor
組件庫預研
Blazor組件庫目前看來太多了,比較優秀,關註度比較高的有。
https://github.com/MudBlazor/MudBlazor
https://github.com/ant-design-blazor/ant-design-blazor
https://github.com/dotnetcore/BootstrapBlazor
組件庫現在還在持續變多,可供選擇性越來越高
與現有SPA比對
Blazor作為一個SPA框架,現有SPA基本上理念一致,MVVM思想中有的Blazor全都有:雙向綁定、路由、依賴註入、組件化、事件處理...
也有不少人做過對應分析,十分不錯
https://devathon.com/blog/blazor-vs-angular-vs-react-vs-vue/
https://www.telerik.com/blogs/blazor-vs-vue-web-developers
我也做了個簡單的翻譯
https://www.cnblogs.com/chenyishi/p/16595037.html
與WebForm做比對
為啥要與WebForm做比對?Blazor從開發模式說與WebForm還是有一點相似的,包括頁面生命周期,項目結構,中間件...
官方也給我們提供了遷移文檔,減小從webform遷移到blazor的難度。
https://docs.microsoft.com/zh-cn/dotnet/architecture/blazor-for-web-forms-developers/introduction
動手實戰
光學不練可不行,就用MudBlazor做個Demo,試試Blazor WebAssemebly端和Blazor hybrid混合開發有多爽。
特別是Blazor hybrid混合開發,用HTML思想開發Winform,但邏輯用C#寫而不是JS,體驗原生性能,大家趕緊動起來吧!
別再聽一些人說Blazor不行.NETCore+不行了,自己嘗試下就知道多棒了!大家去star吧!https://github.com/dotnet/aspnetcore