Wtm Blazor来了!
快點關注我們吧
Blazor
Blazor從誕生到現在也有一段時間了,之前一直在觀望,從dotnet5中Blazor的進步以及即將到來的dotnet6中的規劃來看,Blazor的前途還是光明的,所以WtmBlazor來了!
Blazor的優勢
后臺代碼的高復用率。不論是server模式還是wasm模式,由于都是用C#編寫,Blazor對后臺代碼的利用率相當的高。
?????來看一個實例,在Vue或React中,雖然你在后臺定義了模型和驗證規則,還弄了多語言的字段名稱,錯誤信息等,但是不可避免的,你在前臺需要用js重新寫一遍,比如一個用戶管理,在vue中你會有類似這樣的定義:
formItem: {"Entity.ID": {isHidden: true},"Entity.ITCode": {type: "input",label: this.$t("frameworkuser.ITCode"),rules: {required: true,message: this.$t("frameworkuser.pleaseEnterITCode"),trigger: "blur"},props: {disabled: this['status'] !== 'add'}},"Entity.Password": {type: "input",label: this.$t("frameworkuser.Password"),rules: {required: true,message: this.$t("frameworkuser.pleaseEnterPassword"),trigger: "blur"},isHidden: (res, status) =>["edit", "detail"].includes(status)},"Entity.Email": {type: "input",label: this.$t("frameworkuser.Email")},"Entity.Name": {type: "input",label: this.$t("frameworkuser.Name"),rules: {required: true,message: this.$t("frameworkuser.pleaseEnterName"),trigger: "blur"}} } export default {zh: {frameworkuser: {ITCode: "賬號",Name: "姓名",Gender: "性別",PhotoId: "照片",IsValid: "是否生效",RoleName_view: "角色",GroupName_view: "用戶組",Email: "郵箱",Operate: "操作",Password: "密碼",CellPhone: "手機號",HomePhone: "座機",Address: "地址",ZipCode: "郵編",SelectedRolesCodes: "角色組",SelectedGroupCodes: "用戶組",All: "所有",Selected: "已選",pleaseEnterUserRoles: "請輸入角色",pleaseEnterRoleName: "請輸入用戶組",pleaseEnterITCode: "請輸入ITCode",pleaseEnterPassword: "請輸入密碼",pleaseEnterName: "請輸入名稱"}},en: {。。。。。} 等等?其實這些你在后臺都寫過一遍了。使用Blazor你就不需要再寫一遍上面這些,后臺定義的模型和多語言都可以直接使用,即減少了工作量又降低了出錯的可能性。
代碼結構更清晰。告別動輒幾百兆的js引用,很多js你可能自己都不知道是干啥的。。。調試代碼的時候,你的筆記本終于不用嗡嗡作響了。尤其是在前臺編寫復雜業務邏輯或復雜數據結構的時候,C#肯定要比js優雅一些,依賴注入,泛型,反射,Lambda表達式,以及你學過的那些設計模式都可以用在前端開發上。
應用已有類庫。Blazor理論上可以使用任何.net5的類庫,圖片編輯,音頻處理甚至AI相關的都可以直接拿來在Blazor上使用,這極大的豐富了Blazor的使用場景
Blazor的劣勢
Blazor目前并不適合互聯網場景的應用開發,它更適合ToB模式的應用。主要原因是Server模式使用SignalR,難以支持高并發,wasm模式雖然可以但首次下載量比較大。Blazor的后續版本應該會在這方面加以改善。
Blazor目前調試還不太行,Server模式好一些,wasm模式的調試體驗還是不如調試后臺代碼,當然你要是跟調試js比那還是可以的。
一些重度依賴js的功能,比如在頁面上拖拽控件,在Blazor里實現起來還是比較費勁。
總之,Blazor是值得你投入的技術,雖然現在還有一些問題,但是看微軟后續的規劃,這些短板也很快會被補齊。如果想使用和學習Blazor,WTM Blazor絕對是你目前最好的選擇,Wtm Blazor可以幫你:
一鍵生成Blazor項目,使用jwt,自帶常用的用戶,角色,權限,菜單,日志等管理功能,同時支持Server和Wasm模式
代碼生成器當然是標配,一鍵生成增刪改查,導入導出,文件上傳下載等代碼,前后臺的代碼都有哦
很多Blazor現階段的小問題都已經在框架層面替你避開了,使用起來更順暢。
還等啥,來吧:
特別鳴謝BootstrapBlazor組件庫作者,微軟Mvp,NCC成員,我的好友張廣坡,為WTM Blazor版本投入了大量精力。
Wtm官網:https://wtmdoc.walkingtec.cn
BB官網:https://www.blazor.zone
——— WTM 是工具 更是生產力———
總結
以上是生活随笔為你收集整理的Wtm Blazor来了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SqlServer SqlParser
- 下一篇: 发布 .NET 5 带运行时单文件应用时