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/
相关文章
相关标签/搜索