zoukankan      html  css  js  c++  java
  • Blazor带我重玩前端(二)

    概览

    Blazor目前有两种托管模式,一种是Server-Side模式,一种是WebAssembly模式。官方首先支持的是Service-Side模式,使用WebAssembly模式,需要更新到最新版VS2019。 小编目前的精力是更多的专注于Blazor-WebAssembly模式的研究,所以本系列文章只会对Server-Side模式做简要说明。

    WebAssembly

    WebAssembly模式(也可叫做Client-Side模式),WebAssembly前文已经说了很多了,本文不再做额外讨论。我们主要来看一下ASP.NET Core Blazor是如何实现WebAssembly模式的。Blazor启动后,会将依赖项、.NET运行时以及应用组件下载浏览器,应用将在浏览器上直接运行。其交互如图所示:

    w-1

    同时其UI更新和事件处理也在统一进程中进行,如下图所示:

    w-2

    WebAssembly优点

    • Web 程序集在客户端、浏览器内运行,因此可以作为静态文件进行部署。
    • 相对于Server-Side模式,当与服务器连接断掉时,依然可以连接,但是涉及到数据库查询等后台功能时,肯定是无法正常工作的。
    • 可以减少服务器负载压力。

    WebAssembly缺点

    • 首次加载时间会比较长,因为它需要下载应用的依赖项、运行时以及 WAT 文件。
    • Blazor WebAssembly 仅适用于较新的浏览器,并且对搜索引擎并不友好。

    Server-Side

    Server-Side模式于2019年9月发布,其目的是使得ASP.NET Core 应用中在服务器上执行应用。 其交互如图所示:

    s-1

    UI 更新、事件处理和 JavaScript 调用是通过 SignalR 连接进行处:

    s-2

    Server-Side优点

    • Blazor 服务器端已经先于客户端呈现了HTML内容。相对于WebAssembly模式要下载很多的文件,Server-Side的启动速度更快,也对搜索引擎更加友好。
    • 由于浏览器端只需要专注于HTML相关内容的展示,这意味Server-Side几乎不会遇到什么兼容性。

    Server-Side缺点

    • 由于其每个交互HTML由服务器端预呈现,这意味Server-Side无法使用静态化方案。同时其往返流程所涉及到的时间消耗,这也只能使得Server-Side模式可能会有更高的延迟。
    • 需要始终与服务器建立活动连接,一旦服务器关闭,应用也将立即停止工作。
    • 服务器压力会较大。
  • 相关阅读:
    ArrayList 和 Vector 的区别
    Redis在springboot中使用,读取字符串
    初始化Mysql
    Redis 安装
    React-脚手架
    React virtual DOM explained in simple English/简单语言解释React的虚拟DOM
    数据结构
    书单(18-19)
    算法复杂度
    otrs离线部署
  • 原文地址:https://www.cnblogs.com/edison0621/p/13251439.html
Copyright © 2011-2022 走看看