日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Wtm Blazor来了!

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

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

Blazor

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

Blazor的優(yōu)勢(shì)

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

?????來(lái)看一個(gè)實(shí)例,在Vue或React中,雖然你在后臺(tái)定義了模型和驗(yàn)證規(guī)則,還弄了多語(yǔ)言的字段名稱,錯(cuò)誤信息等,但是不可避免的,你在前臺(tái)需要用js重新寫(xiě)一遍,比如一個(gè)用戶管理,在vue中你會(huì)有類似這樣的定義:

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: "賬號(hào)",Name: "姓名",Gender: "性別",PhotoId: "照片",IsValid: "是否生效",RoleName_view: "角色",GroupName_view: "用戶組",Email: "郵箱",Operate: "操作",Password: "密碼",CellPhone: "手機(jī)號(hào)",HomePhone: "座機(jī)",Address: "地址",ZipCode: "郵編",SelectedRolesCodes: "角色組",SelectedGroupCodes: "用戶組",All: "所有",Selected: "已選",pleaseEnterUserRoles: "請(qǐng)輸入角色",pleaseEnterRoleName: "請(qǐng)輸入用戶組",pleaseEnterITCode: "請(qǐng)輸入ITCode",pleaseEnterPassword: "請(qǐng)輸入密碼",pleaseEnterName: "請(qǐng)輸入名稱"}},en: {。。。。。} 等等?

其實(shí)這些你在后臺(tái)都寫(xiě)過(guò)一遍了。使用Blazor你就不需要再寫(xiě)一遍上面這些,后臺(tái)定義的模型和多語(yǔ)言都可以直接使用,即減少了工作量又降低了出錯(cuò)的可能性。

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

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

Blazor的劣勢(shì)

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

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

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

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

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

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

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

還等啥,來(lái)吧:

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

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

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

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

總結(jié)

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

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