網(wǎng)站首頁 編程語言 正文
Blaozr 是由微軟2019推出得一種使用.NET 生成交互式客戶端得Web UI框架。
該框架利用C#代替JavaScript進(jìn)行創(chuàng)建UI , 并且可以共享.NET編寫的服務(wù)端和客戶端業(yè)務(wù)代碼。
優(yōu)勢(shì):
- 1 使用C#代替JavaScript編寫代碼, 意味著, 如果你使用的是.Net進(jìn)行編寫服務(wù)端(例:ASP.NET Core WebApi) 或者是 客戶端(WPF/Winform),那么可以共享應(yīng)用之前的邏輯, 無需針對(duì)Web再編寫其他的業(yè)務(wù)代碼。
- 2 始終高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
- 3 利用現(xiàn)有的 .NET 庫生態(tài)系統(tǒng)。
瀏覽器要求:
Blazor WebAssembly
Microsoft Edge
Mozilla Firefox
Google Chrome,包括 Android
Safari,包括 iOS當(dāng)前
Microsoft Internet Explorer 不支持 WebAssembly。
Blazor 服務(wù)器
Microsoft Edge
Mozilla Firefox
Google Chrome,包括 Android當(dāng)
Safari,包括 iOS
托管模型
Blazor WebAssembly
Blazor 的主要托管模型在 WebAssembly 上的瀏覽器中運(yùn)行客戶端。 將 Blazor 應(yīng)用、其依賴項(xiàng)以及 .NET 運(yùn)行時(shí)下載到瀏覽器。 應(yīng)用將在瀏覽器線程中直接執(zhí)行。
UI 更新和事件處理在同一進(jìn)程中進(jìn)行。 應(yīng)用資產(chǎn)作為靜態(tài)文件部署到可為客戶端提供靜態(tài)內(nèi)容的 Web 服務(wù)器或服務(wù)中。
1.模板包括 blazor.webassembly.js 腳本,可處理以下任務(wù):
- 下載 .NET 運(yùn)行時(shí)、應(yīng)用和應(yīng)用依賴項(xiàng)。
- 初始化運(yùn)行應(yīng)用的運(yùn)行時(shí)。
2.Blazor WebAssembly 托管模型具有以下優(yōu)點(diǎn):
- 沒有 .NET 服務(wù)器端依賴項(xiàng)。 應(yīng)用下載到客戶端后即可正常運(yùn)行。
- 可充分利用客戶端資源和功能。
- 工作可從服務(wù)器轉(zhuǎn)移到客戶端。
- 無需 ASP.NET Core Web 服務(wù)器即可托管應(yīng)用。 無服務(wù)器部署方案可行(例如通過 CDN 為應(yīng)用提供服務(wù)的方案)。
3.Blazor WebAssembly 托管具有以下缺點(diǎn):
- 應(yīng)用僅可使用瀏覽器功能。
- 需要可用的客戶端硬件和軟件(例如 WebAssembly 支持)。
- 下載項(xiàng)大小較大,應(yīng)用加載耗時(shí)較長。
- .NET 運(yùn)行時(shí)和工具支持不夠完善。 例如,.NET Standard 支持和調(diào)試方面存在限制。
Blazor 托管應(yīng)用模型支持 Docker 容器。 在 Visual Studio 中右鍵單擊 Server 項(xiàng)目,然后選擇“添加” > “Docker 支持” 。
Blazor Server
使用 Blazor 服務(wù)器托管模型可從 ASP.NET Core 應(yīng)用中在服務(wù)器上執(zhí)行應(yīng)用。 UI 更新、事件處理和 JavaScript 調(diào)用是通過 SignalR 連接進(jìn)行處理。
1.Blazor 服務(wù)器托管模型具有以下優(yōu)點(diǎn):
- 下載項(xiàng)大小明顯小于 Blazor WebAssembly 應(yīng)用,且應(yīng)用加載速度快得多。
- 應(yīng)用可充分利用服務(wù)器功能,包括使用任何與 .NET Core 兼容的 API。
- 服務(wù)器上的 .NET Core 用于運(yùn)行應(yīng)用,因此調(diào)試等現(xiàn)有 .NET 工具可按預(yù)期正常工作。
- 支持瘦客戶端。 例如,Blazor 服務(wù)器應(yīng)用適用于不支持 WebAssembly 的瀏覽器以及資源受限的設(shè)備。
- 應(yīng)用的 .NET/C# 代碼庫(其中包括應(yīng)用的組件代碼)不適用于客戶端。
2.Blazor 服務(wù)器托管具有以下缺點(diǎn):
- 通常延遲較高。 每次用戶交互都涉及到網(wǎng)絡(luò)躍點(diǎn)。
- 不支持脫機(jī)工作。 如果客戶端連接失敗,應(yīng)用會(huì)停止工作。
- 如果具有多名用戶,則應(yīng)用擴(kuò)縮性存在挑戰(zhàn)。 服務(wù)器必須管理多個(gè)客戶端連接并處理客戶端狀態(tài)。
- 需要 ASP.NET Core 服務(wù)器為應(yīng)用提供服務(wù)。 無服務(wù)器部署方案不可行(例如通過 CDN 為應(yīng)用提供服務(wù)的方案)。
Blazor Server 應(yīng)用模型支持 Docker 容器。 在 Visual Studio 中右鍵單擊該項(xiàng)目并選擇“添加” > “Docker 支持” 。
原文鏈接:https://www.cnblogs.com/zh7791/p/12722476.html
相關(guān)推薦
- 2022-03-15 使用jib-maven-plugin插件打包docker鏡像上傳到私有鏡像庫,為了賬戶安全,需要設(shè)置
- 2022-12-21 Kotlin?launch原理全面分析_Android
- 2022-04-02 vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)_C 語言
- 2021-12-13 C語言魔方陣的三種實(shí)現(xiàn)方法_C 語言
- 2023-08-15 .sync 父組件給子組件傳值 子組件修改父組件方法
- 2022-05-27 Python腳本傳參數(shù)argparse模塊的使用_python
- 2022-10-17 C++智能指針模板應(yīng)用詳細(xì)介紹_C 語言
- 2022-06-16 golang?gorm實(shí)現(xiàn)get請(qǐng)求查詢案例測試_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支