Blazor 介紹(1)


Blaozr 是由微軟2019推出得一種使用.NET 生成交互式客戶端得Web UI框架。
點擊觀看視頻教程
該框架利用C#代替JavaScript進行創建UI , 並且可以共享.NET編寫的服務端和客戶端業務代碼。

優勢:

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

瀏覽器要求:

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 運行時下載到瀏覽器。 應用將在瀏覽器線程中直接執行。
UI 更新和事件處理在同一進程中進行。 應用資產作為靜態文件部署到可為客戶端提供靜態內容的 Web 服務器或服務中。

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

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

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

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

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

  • 應用僅可使用瀏覽器功能。
  • 需要可用的客戶端硬件和軟件(例如 WebAssembly 支持)。
  • 下載項大小較大,應用加載耗時較長。
  • .NET 運行時和工具支持不夠完善。 例如,.NET Standard 支持和調試方面存在限制。
    Blazor 托管應用模型支持 Docker 容器。 在 Visual Studio 中右鍵單擊 Server 項目,然后選擇“添加” > “Docker 支持” 。

Blazor Server

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

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 支持” 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM