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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于 Blazor Server Side 的一些杂项, 感想

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

在2016年, 本人就開始了一個內(nèi)部項目, 其特點就是用C#構(gòu)建DOM樹, 然后把DOM同步到瀏覽器中顯示. 并且在一些小工程中使用.

3年下來, 效果很不錯, 但因為是使用C#來構(gòu)建控件樹, 在沒有特定語法的情況下, 代碼風(fēng)格不是那么好.

典型的風(fēng)格大概是這樣的:

這個模式挺好的, 有點嫌棄C#代碼占比太高, HTML代碼靠字符串來完成, 在界面的設(shè)計上, 比較吃力.?

?


?

在2019年秋, Asp.Net 3.0出來了, Blazor Server Side 也正式公布, 可以在VS2019中使用.

當(dāng)時我就去嘗嘗鮮, 發(fā)現(xiàn)這東西, 和我的框架很接近. 不同的是,

Blaozr Server Side 是基于 MVVM 的, 而我的框架是基于傳統(tǒng)控件樹的.


Blazor畢竟有微軟做爸爸, 在VS上的支持是直接的, 由Razor文件來負(fù)責(zé) HTML+C# 的代碼模式, 完全支持智能提示.


天呀, 這不是就是我夢寐以求的開發(fā)方式嗎? 于是, 在疫情期間, 我把以前的框架, 和Blazor直接整合在一起. 開始做一些小工程做驗證.

現(xiàn)在這個整合大部分需求與問題都得到了解決. 還需要提供更多的控件用以提高工程的開發(fā)速度.

?

先上圖,? 看看?Blazor?的代碼是長什么樣子的.?

(Razor語法,?和MVC有點接近.?但是MVC是輸出靜態(tài)HTML的, Blazor組件是生成服務(wù)器樹狀結(jié)構(gòu)的)

?

?

與 MVC?的 Razor語法是接近的 ,?然而最大不同時 , MVC?的最終目標(biāo)是生成字符串發(fā)給瀏覽器.? 而Blazor生成了模型之后,?依然是"活動"的,?隨時準(zhǔn)備好響應(yīng)客戶端的事件.

?

??


?

?

對于 Blazor?架構(gòu)的一些特點,?畫了一些圖.?

首先, 我把這種模式成為 "服務(wù)器UI映射" , 后面都會陸續(xù)使用這個概念.

個人看法 ,?通常的情況,?僅供參考

?

?

?Blazor 因為在服務(wù)器上把代碼運行狀態(tài)駐留在內(nèi)存,

所以程序運行的上下文得以保存, 而關(guān)聯(lián)的事件也會綁定到上下文中.

事件處理函數(shù)被調(diào)用時, 相關(guān)的對象和數(shù)據(jù)會全部可用.


具體的細(xì)節(jié)無法說太多, 畢竟這是新事物, 我自己也是一邊使用一邊積累心得.

我以后會陸陸續(xù)續(xù)放上各種例子, 提供給感興趣的網(wǎng)友們, 用節(jié)省時間的方式去迅速掌握Blazor的開發(fā)流程.


最后, 放上一個對照表, 以供參考:

總結(jié)

以上是生活随笔為你收集整理的关于 Blazor Server Side 的一些杂项, 感想的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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