Blazor——Asp.net core的新前端框架

Blazor是微軟在Asp.net core 3.0中推出的一個前端MVVM模型,它能夠利用Razor頁面引擎和C#做爲腳本語言來構建WEB頁面,以下代碼簡單演示了它的基本功能: 前端

和Angular JS和VUE的模型很是相似,Blazor 支持大多數應用所需的核心方案: web

  • 參數
  • 事件處理
  • 數據綁定
  • 路由
  • 依賴關係注入
  • 佈局
  • 模板
  • 級聯值

使用Blazor主要有以下好處: 瀏覽器

  • C# 語言:使用 C# 代替 JavaScript 來編寫代碼。
  • .NET 生態系統:利用現有的 .NET 庫生態系統。
  • 完整堆棧開發:共享服務器和客戶端邏輯。
  • 快速且具備可伸縮性:.NET 旨在實現出色的性能、可靠性和安全性。
  • 行業領先工具:始終高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
  • 穩定性和一致性:以一組穩定、功能豐富且易用的通用語言、框架和工具爲基礎來進行生成。

 

客戶端模式: 安全

運行Blazor須要C#支持,在客戶端模式下,經過WebAssembly的方式實現的: 服務器

  • C# 代碼文件和 Razor 文件將被編譯爲 .NET 程序集。
  • 該程序集和 .NET 運行時將被下載到瀏覽器。
  • Blazor 客戶端啓動 .NET 運行時並配置運行時,爲應用加載程序集。 文檔對象模型 (DOM) 操做和瀏覽器 API 調用將由 Blazor 客戶端運行時經過 JavaScript 互操做處理。

 

服務端模式: 網絡

Blazor組件呈現邏輯也能夠在服務端實現,經過SingalR鏈接傳遞UI更新: app

  • 處理從瀏覽器到服務器的發送 UI 事件。
  • 運行組件後,將服務器發送的 UI 更新從新應用到瀏覽器。

 

兩種模式的比較: 框架

和客戶端模式相比,服務端模式有以下有點: 工具

  • 客戶端不須要WebAssembly支持,具備更好的客戶端兼容性
  • 不須要下載.net webassembly程序集,具備更小的頁面加載時間
  • 能夠運行完整的.net runmtime,能夠實現更增強大的功能

但同時也有以下缺點: 佈局

  • 全部操做都須要發往服務器,網絡很差的時候有延時
  • 全部運算都在服務端進行,服務器端具備更大的處理壓力

綜上所述,客戶端具備更好的效率,服務端具備更少的約束和更強大的功能,對於一些對性能要求不高和網絡不差的場景,服務端模式無疑是很是合適的選擇。

 

參考文章:

  1. Blazor 簡介
  2. https://dotnet.microsoft.com/apps/aspnet/web-apps/client
  3. https://blazor-tutorial.net/
相關文章
相關標籤/搜索