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运行时以及应用组件下载浏览器,应用将在浏览器上直接运行。其交互如图所示:同时其UI更新和事件处理也在统一进程中进行,如下图所示:
WebAssembly优点
Web 程序集在客户端、浏览器内运行,因此可以作为静态文件进行部署。
相对于Server-Side模式,当与服务器连接断掉时,依然可以连接,但是涉及到数据库查询等后台功能时,肯定是无法正常工作的。
可以减少服务器负载压力。
WebAssembly缺点(此处有误,请看评论)
由于其每个交互HTML由服务器端预呈现,这意味Server-Side无法使用静态化方案。同时其往返流程所涉及到的时间消耗,这也只能使得Server-Side模式可能会有更高的延迟。
需要始终与服务器建立活动连接,一旦服务器关闭,应用也将立即停止工作。
服务器压力会较大。
Server-Side
Server-Side模式于2019年9月发布,其目的是使得ASP.NET Core 应用中在服务器上执行应用。其交互如图所示:UI 更新、事件处理和 JavaScript 调用是通过 SignalR 连接进行处理。如下图所示:
Server-Side优点
Blazor 服务器端已经先于客户端呈现了HTML内容。相对于WebAssembly模式要下载很多的文件,Server-Side的启动速度更快,也对搜索引擎更加友好。
由于浏览器端只需要专注于HTML相关内容的展示,这意味Server-Side几乎不会遇到什么兼容性。
Server-Side缺点
由于其每个交互HTML由服务器端预呈现,这意味Server-Side无法使用静态化方案。同时其往返流程所涉及到的时间消耗,这也只能使得Server-Side模式可能会有更高的延迟。
需要始终与服务器建立活动连接,一旦服务器关闭,应用也将立即停止工作。
服务器压力会较大。
Blazor带我重玩前端(二)相关推荐
- Blazor带我重玩前端(四)
布局 Blazor中的布局和MVC中的布局是类似的. 创建布局 新建一个Razor页面,所有新增的布局都要继承LayoutComponentBase,同时标识自定义内容的输出位置,即标识Body的位置 ...
- Blazor带我重玩前端(五)
概述 本文主要讨论Blazor事件内容,由于blazor事件部分很多,所以会分成上下两篇,本文为第一篇,后续会有第二篇. 我们可以视组件是一个类,我们先看一下前文所说的Index.Razor页面生成的 ...
- Blazor带我重玩前端(三)
VS自带的Blazor模板介绍 需要升级VS2019以及.NET Core到最新版(具体的最低支持,我已经忘了,总是越新支持的就越好),以更好的支持自己开发Blazor项目. 使用VS创建Blazor ...
- Blazor带我重玩前端(一)
写在前面 曾经我和前端朋友聊天的时候,我说我希望有一天可以用C#写前端,不过当时更多的是美好的想象,这一切正变得真实-- 什么是Blazor 我们知道浏览器可以正确解释并执行JavaScript代码, ...
- Blazor带我重玩前端(六)
本文主要讨论Blazor事件内容,由于blazor事件部分很多,所以会分成上下两篇,本文为第二篇. 双向绑定 概述 如图所示 当点击单项绑定的时候,MyOnewayComponent里的属性值会发生变 ...
- 重学前端学习笔记(二十二)--选择器的机制
笔记说明 重学前端是程劭非(winter)[前手机淘宝前端负责人]在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入winter的专 ...
- 柚缘航海:Tik Tok电商带货怎么玩?
以下全是吐血干货(建议点赞+收藏,再慢慢看)如果想了解更多的干货,可以关注旭柚. 我们讲了Tik Tok目前常见的五种变现方式,这篇文章就给大家着重来讲讲其中的创作者基金和电商带货. 一.创作者基金 ...
- 【Python】玩转二维码:生成、伪造和识别
玩转二维码 前言及视频 一.二维码的生成 1.1 导包和相关说明 1.2 设置当前目录 1.3 设置保存目录 1.4 设置图标文件 1.5 清空输入项 1.6 初始化二维码 1.7 生成二维码图片主程 ...
- 【笔记】重学前端-winter
本文为:winter 发布在极客时间 [重学前端]系列课程的的笔记和总结 支持正版哦: https://time.geekbang.org/col... 导语 如果深入进去了解,你会发现,表面上看他们 ...
最新文章
- CSS3学习系列之颜色
- JavaScript中获取表单信息并添加在表格中
- ionic入门教程第十六课-在微信中使用ionic的解决方案(按需加载加强版)
- inline-block 和 float 的区别
- iOS self 和 super 学习
- Sales area data model research in QDD
- CC1310在868MHz的电路设计
- POJ 1577 Falling Leaves(二叉查找树)
- 有没有比python更简单的语言排名_编程语言4种更快更简单实现Python数据可视化的方法...
- 估值指标方法20190805
- 使用HeartBeat实现高可用HA的配置过程详解
- 利用JS+Ajax实现下拉列表无刷联动,及其相关
- c# Excel的操作
- 将图像绘制成3维立体散点图
- python引用计数的原理_深入Python中引用计数
- [M1]Daily Scum 10.11
- 机顶盒宽带拨号失败服务器未响应,机顶盒详细错误代码.doc
- 天龙八部本服务器的注册码,天龙八部服务端配置! - 网游单机讨论 - 藏宝湾网游单机站 - Powered by Discuz!...
- js 立方 平方怎么写
- win10共享打印机搜索不到计算机,win10为什么搜索不到共享打印机
热门文章
- 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
- oracle使用sqlplus查询sql格式
- google天气预报接口_将天气预报添加到谷歌浏览器
- android wi-fi_如何在Android手机上查找3G或Wi-Fi速度
- iphone手机备忘录迁移_如何在iPhone和iPad上使用语音备忘录
- mysql获取查询策略语句_MySQL数据库查询性能优化策略
- pta7-7旅游规划(dijkstra算法)
- 异常处理—错误抛出机制
- PHP单例模式(精讲)
- 《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...