日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Wtm Blazor来了!

發(fā)布時間:2023/12/4 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Wtm Blazor来了! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

快點關(guān)注我們吧

Blazor

Blazor從誕生到現(xiàn)在也有一段時間了,之前一直在觀望,從dotnet5中Blazor的進步以及即將到來的dotnet6中的規(guī)劃來看,Blazor的前途還是光明的,所以WtmBlazor來了!

Blazor的優(yōu)勢

  • 后臺代碼的高復(fù)用率。不論是server模式還是wasm模式,由于都是用C#編寫,Blazor對后臺代碼的利用率相當?shù)母摺?/p>

?????來看一個實例,在Vue或React中,雖然你在后臺定義了模型和驗證規(guī)則,還弄了多語言的字段名稱,錯誤信息等,但是不可避免的,你在前臺需要用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你就不需要再寫一遍上面這些,后臺定義的模型和多語言都可以直接使用,即減少了工作量又降低了出錯的可能性。

  • 代碼結(jié)構(gòu)更清晰。告別動輒幾百兆的js引用,很多js你可能自己都不知道是干啥的。。。調(diào)試代碼的時候,你的筆記本終于不用嗡嗡作響了。尤其是在前臺編寫復(fù)雜業(yè)務(wù)邏輯或復(fù)雜數(shù)據(jù)結(jié)構(gòu)的時候,C#肯定要比js優(yōu)雅一些,依賴注入,泛型,反射,Lambda表達式,以及你學(xué)過的那些設(shè)計模式都可以用在前端開發(fā)上。

  • 應(yīng)用已有類庫。Blazor理論上可以使用任何.net5的類庫,圖片編輯,音頻處理甚至AI相關(guān)的都可以直接拿來在Blazor上使用,這極大的豐富了Blazor的使用場景

Blazor的劣勢

  • Blazor目前并不適合互聯(lián)網(wǎng)場景的應(yīng)用開發(fā),它更適合ToB模式的應(yīng)用。主要原因是Server模式使用SignalR,難以支持高并發(fā),wasm模式雖然可以但首次下載量比較大。Blazor的后續(xù)版本應(yīng)該會在這方面加以改善。

  • Blazor目前調(diào)試還不太行,Server模式好一些,wasm模式的調(diào)試體驗還是不如調(diào)試后臺代碼,當然你要是跟調(diào)試js比那還是可以的。

  • 一些重度依賴js的功能,比如在頁面上拖拽控件,在Blazor里實現(xiàn)起來還是比較費勁。

總之,Blazor是值得你投入的技術(shù),雖然現(xiàn)在還有一些問題,但是看微軟后續(xù)的規(guī)劃,這些短板也很快會被補齊。如果想使用和學(xué)習(xí)Blazor,WTM Blazor絕對是你目前最好的選擇,Wtm Blazor可以幫你:

  • 一鍵生成Blazor項目,使用jwt,自帶常用的用戶,角色,權(quán)限,菜單,日志等管理功能,同時支持Server和Wasm模式

  • 代碼生成器當然是標配,一鍵生成增刪改查,導(dǎo)入導(dǎo)出,文件上傳下載等代碼,前后臺的代碼都有哦

  • 很多Blazor現(xiàn)階段的小問題都已經(jīng)在框架層面替你避開了,使用起來更順暢。

還等啥,來吧:

特別鳴謝BootstrapBlazor組件庫作者,微軟Mvp,NCC成員,我的好友張廣坡,為WTM Blazor版本投入了大量精力。

Wtm官網(wǎng):https://wtmdoc.walkingtec.cn

BB官網(wǎng):https://www.blazor.zone

——— WTM 是工具 更是生產(chǎn)力———

總結(jié)

以上是生活随笔為你收集整理的Wtm Blazor来了!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。