南山网站设计费用,建设部网站怎么查询相关专业,建设新北川网站,嘉兴网红桥今天我们来说说Blazor的三种部署方式#xff0c;如果大家还不了解Blazor#xff0c;那么我先简单介绍下Blazor Blazor 是一种 .NET 前端 Web 框架#xff0c;在单个编程模型中同时支持服务器端呈现和客户端交互性#xff1a; ● 使用 C# 创建丰富的交互式 UI。 ● 共享使用…今天我们来说说Blazor的三种部署方式如果大家还不了解Blazor那么我先简单介绍下Blazor Blazor 是一种 .NET 前端 Web 框架在单个编程模型中同时支持服务器端呈现和客户端交互性 ● 使用 C# 创建丰富的交互式 UI。 ● 共享使用 .NET 编写的服务器端和客户端应用逻辑。 ● 将 UI 呈现为 HTML 和 CSS以支持众多浏览器其中包括移动浏览器。 ● 使用 .NET 和 Blazor 生成混合桌面和移动应用。 以上的介绍来自于官方的文档介绍简单来说Blazor和VueRecatAngular等前端框架一样都是Web前端框架但是Blazor实现了使用C#来编写业务逻辑不适用JS来编写逻辑。如果大家想了解更详细的介绍内容可以参考官方文档。 Blazor提供了三种部署方式大家可以根据场景来进行多种选择。
Blazor WebAssembly
让我们先了解下WebAssembly是什么 WebAssembly也被简称为WASM是一种为网络设计的可移植的编译目标旨在将C、C、Rust等编程语言编译成高效的二进制代码使其在现代网络浏览器中运行。WebAssembly可以提供更快的加载速度和和更高的执行效率。
Blazor WebAssembly 的部署模式如下 ● 在满足浏览器支持 WASM 标准的前提下会将 Blazor 项目编译得到的.NET 程序集传输至客户端。 ● 这些程序集随后在客户端浏览器的 WebAssembly 环境中运行可以在离线状态下执行为用户提供更加灵活的使用体验无论用户处于网络连接不稳定还是完全脱机的情况都能正常使用应用程序提升了应用的可用性和用户体验。
Blazor Server
在这种开发架构中所有的 HTMLCSS 以及 C# 后端代码的执行过程都是在服务器端完成的。并将解析后的完整 HTMLCSS 代码发送到前端的浏览器执行Blazor 脚本与服务器建立 SignalR 连接,每个客户端与服务器都会建立一个持久的 SignalR 通道通过 SignalR 通道实现客户端与服务器的交互。
SignalR
在这种部署方式下我们提到了SignalR我们对SignalR做一个简单的介绍 ASP.NET SignalR 是一个面向 ASP.NET 开发人员的库可简化向应用程序添加实时 Web 功能的过程。 实时 Web 功能是让服务器代码在可用时立即将内容推送到连接的客户端而不是让服务器等待客户端请求新数据。 Blazor Hybrid 使用跨桌面、移动和 Web 共享相同的 Blazor 组件可以开发出 Android、iOS 移动设备上的 App、还可以开发出在macOS 和 Windows 上运行的桌面应用。简单来说通过Blazor混合应用可以开发出目前几乎所有的跨平台应用 Blazor Hybrid
使用跨桌面、移动和 Web 共享相同的 Blazor 组件可以开发出 Android、iOS 移动设备上的 App、还可以开发出在macOS 和 Windows 上运行的桌面应用。简单来说通过Blazor混合应用可以开发出目前几乎所有的跨平台应用
技术选择
先来看一个官方提供的区别图下面我总结以下三种方式的优缺点供大家参考
Blazor WebAssembly
1 WebAssembly为二进制代码有着更好的性能 2在浏览器客户端首次运行获得程序集后可离线运行 3第一次加载需要客户端发送程序集会导致首次加载速度慢
Blazor Server
1所有代码在服务端运行服务端负载大客户端加载速度快 2不需要浏览器支持WebAssembly标准可以使得应用在一些旧版本的浏览器上也可以运行 3不支持离线场景无网络情况下无法访问 4SignalR连接会对性能有所损耗
Blazor Hybrid
1开发速度快多平台使用 2不同平台需要编译不同的应用 3手机和电脑端需要安装APP才能使用不能直接从浏览器访问