Blazor框架簡介
Blaozr 是由微軟2019推出得一種使用.NET 生成交互式客戶端得Web UI框架。
該框架利用C#代替JavaScript進行創(chuàng)建UI , 并且可以共享.NET編寫的服務端和客戶端業(yè)務代碼。
優(yōu)勢:
- 1 使用C#代替JavaScript編寫代碼, 意味著, 如果你使用的是.Net進行編寫服務端(例:ASP.NET Core WebApi) 或者是 客戶端(WPF/Winform),那么可以共享應用之前的邏輯, 無需針對Web再編寫其他的業(yè)務代碼。
- 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當前
Microsoft Internet Explorer 不支持 WebAssembly。
Blazor 服務器
Microsoft Edge
Mozilla Firefox
Google Chrome,包括 Android當
Safari,包括 iOS
托管模型
Blazor WebAssembly
Blazor 的主要托管模型在 WebAssembly 上的瀏覽器中運行客戶端。 將 Blazor 應用、其依賴項以及 .NET 運行時下載到瀏覽器。 應用將在瀏覽器線程中直接執(zhí)行。
UI 更新和事件處理在同一進程中進行。 應用資產(chǎn)作為靜態(tài)文件部署到可為客戶端提供靜態(tài)內(nèi)容的 Web 服務器或服務中。
1.模板包括 blazor.webassembly.js 腳本,可處理以下任務:
- 下載 .NET 運行時、應用和應用依賴項。
- 初始化運行應用的運行時。
2.Blazor WebAssembly 托管模型具有以下優(yōu)點:
- 沒有 .NET 服務器端依賴項。 應用下載到客戶端后即可正常運行。
- 可充分利用客戶端資源和功能。
- 工作可從服務器轉(zhuǎn)移到客戶端。
- 無需 ASP.NET Core Web 服務器即可托管應用。 無服務器部署方案可行(例如通過 CDN 為應用提供服務的方案)。
3.Blazor WebAssembly 托管具有以下缺點:
- 應用僅可使用瀏覽器功能。
- 需要可用的客戶端硬件和軟件(例如 WebAssembly 支持)。
- 下載項大小較大,應用加載耗時較長。
- .NET 運行時和工具支持不夠完善。 例如,.NET Standard 支持和調(diào)試方面存在限制。
Blazor 托管應用模型支持 Docker 容器。 在 Visual Studio 中右鍵單擊 Server 項目,然后選擇“添加” > “Docker 支持” 。
Blazor Server
使用 Blazor 服務器托管模型可從 ASP.NET Core 應用中在服務器上執(zhí)行應用。 UI 更新、事件處理和 JavaScript 調(diào)用是通過 SignalR 連接進行處理。
1.Blazor 服務器托管模型具有以下優(yōu)點:
- 下載項大小明顯小于 Blazor WebAssembly 應用,且應用加載速度快得多。
- 應用可充分利用服務器功能,包括使用任何與 .NET Core 兼容的 API。
- 服務器上的 .NET Core 用于運行應用,因此調(diào)試等現(xiàn)有 .NET 工具可按預期正常工作。
- 支持瘦客戶端。 例如,Blazor 服務器應用適用于不支持 WebAssembly 的瀏覽器以及資源受限的設備。
- 應用的 .NET/C# 代碼庫(其中包括應用的組件代碼)不適用于客戶端。
2.Blazor 服務器托管具有以下缺點:
- 通常延遲較高。 每次用戶交互都涉及到網(wǎng)絡躍點。
- 不支持脫機工作。 如果客戶端連接失敗,應用會停止工作。
- 如果具有多名用戶,則應用擴縮性存在挑戰(zhàn)。 服務器必須管理多個客戶端連接并處理客戶端狀態(tài)。
- 需要 ASP.NET Core 服務器為應用提供服務。 無服務器部署方案不可行(例如通過 CDN 為應用提供服務的方案)。
Blazor Server 應用模型支持 Docker 容器。 在 Visual Studio 中右鍵單擊該項目并選擇“添加” > “Docker 支持” 。
以上所述是小編給大家介紹的Blazor框架,希望對大家有所幫助。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
.Net結(jié)構(gòu)型設計模式之代理模式(Proxy)
這篇文章介紹了.Net結(jié)構(gòu)型設計模式之代理模式(Proxy),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05asp.net實例代碼protected override void Render(HtmlTextWriter wri
把最終要輸出的html壓縮后再輸出和最終輸出前先存為html文件,如果發(fā)布最新信息了,可以打開一次default.aspx,然后他又會生成一次html2008-08-08Linux?CentOS下docker部署Asp.Net?Core(.Net6)
這篇文章介紹了Linux?CentOS下docker部署Asp.Net?Core(.Net6)的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-12-12ASP.NET?Core中Razor頁面的Handlers處理方法詳解
本文詳細講解了ASP.NET?Core中Razor頁面的Handlers處理方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02SqlConnection.ConnectionString相關關鍵字
SqlConnection.ConnectionString相關關鍵字...2007-01-01