1. 程式人生 > 程式設計 >Blazor框架簡介

Blazor框架簡介

Blaozr 是由微軟2019推出得一種使用.NET 生成互動式客戶端得Web UI框架。

該框架利用C#代替進行建立UI,並且可以共享.www.cppcns.comNET編寫的服務端和客戶端業務程式碼。

優勢:

  • 1 使用C#代替Script編寫程式碼,意味著,如果你使用的是.Net進行編寫服務端(例:ASP.NET Core WebApi) 或者是 客戶端(WPF/Winform),那麼可以共享應用之前的邏輯,無需針對Web再編寫其他的業務程式碼。
  • 2 始終高效支援 Windows、 和 macOS 上的 Visual Studio。
  • 3 利用現有的 .NET 庫生態系統。

瀏覽器要求:

Blazor Webwww.cppcns.com
Assembly

Microsoft Edge

Mozilla Firefox

Google Chrome,包括

Safari,包括 iOS當前

Microsoft Internet Explorer 不支援 WebAssembly。

Blazor 伺服器

Microsoft Edge

Mozilla Firefox

Google Chrome,包括 Android當

Safari,包括 iOS

託管模型

Blazor WebAssembly

Blazor 的主要託管模型在 WebAssembly 上的瀏覽器中執行客戶端。 將 Blazor 應用、其依賴項以及 .NET 執行時下載到瀏覽器。 應用將在瀏覽器執行緒中直接執行。

UI 更新和事件處理在同一程序中進行。 應用資產作為靜態檔案部署到可為客戶端提供靜態內容的 Web 伺服器或服務中。eoHlmQG

Blazor框架簡介

1.模板包括 blazor.webassembly. ,可處理以下任務:

  • 下載 .NET 執行時、應用和應用依賴項。
  • 初始化執行應用的執行時。

2.Blazor WebAssembly 託管模型具有以下優點:

  • 沒有 .NET 伺服器端依賴項。 應用下載到客戶端後即可正常執行。
  • 可充分利用客戶端資源和功能。
  • 工作可從伺服器轉移到客戶端。
  • 無需 ASP.NET Core Web 伺服器即可託管應用。http://www.cppcns.com 無伺服器部署方案可行(例如通過 CDN 為應用提供服務的eoHlmQG
    方案)。

3.Blazor WebAssembly 託管具有以下缺點:

  • 應用僅可使用瀏覽器功能。
  • 需要可用的客戶端硬體和軟體(例如 WebAssembly 支援)。
  • 下載項大小較大,應用載入耗時較長。
  • .NET 執行時和工具支援不夠完善。 例如,.NET Standard 支援和除錯方面存在限制。
    Blazor 託管應用模型支援 容器。 在 Visual Studio 中右鍵單擊 Server 專案,然後選擇“新增” > “Docker 支援” 。

Blazor Server

使用 Blazor 伺服器託管模型可從 ASP.NET Core 應用中在伺服器上執行應用。 UI 更新、事件處理和 JavaScript 呼叫是通過 SignalR 連線進行處理。

Blazor框架簡介

1.Blazor 伺服器託管模型具有以下優點:

  • 下載項大小明顯小於 Blazor WebAssembly 應用,且應用載入速度快得多。
  • 應用可充分利用伺服器功能,包括使用任何與 .NET Core 相容的 API。
  • 伺服器上的 .NET Core 用於執行應用,因此除錯等現有 .NET 工具可按預期正常工作。
  • 支援瘦客戶端。 例如,Blazor 伺服器應用適用於不支援 WebAssembly 的瀏覽器以及資源受限的裝置。
  • 應用的 .NET/C# 程式碼庫(其中包括應用的元件程式碼)不適用於客戶端。

2.Blazor 伺服器託管具有以下缺點:

  • 通常延遲較高。 每次使用者互動都涉及到網路躍點。
  • 不支援離線工作。 如果客戶端連線失敗,應用會停止工作。
  • 如果具有多名使用者,則應用擴縮性存在挑戰。 伺服器必須管理多個客戶端連線並處理客戶端狀態。
  • 需要 ASP.NET Core 伺服器為應用提供服務。 無伺服器部署方案不可行(例如通過 CDN 為應用提供服務的方案)。
    Blazor Server 應用模型支援 Docker 容器。 在 Visual Studio 中右鍵單擊該專案並選擇“新增” > “Docker 支援” 。

以上所述是小編給大家介紹的Blazor框架,希望對大家有所幫助。在此也非常感謝大家對我們的支援!