在2016年, 本人就开始了一个内部项目, 其特点就是用C#构建DOM树, 然后把DOM同步到浏览器中显示. 并且在一些小工程中使用.

3年下来, 效果很不错, 但因为是使用C#来构建控件树, 在没有特定语法的情况下, 代码风格不是那么好.

典型的风格大概是这样的:

这个模式挺好的, 有点嫌弃C#代码占比太高, HTML代码靠字符串来完成, 在界面的设计上, 比较吃力.


在2019年秋, Asp.Net 3.0出来了, Blazor Server Side 也正式公布, 可以在VS2019中使用.

当时我就去尝尝鲜, 发现这东西, 和我的框架很接近. 不同的是,

Blaozr Server Side 是基于 MVVM 的, 而我的框架是基于传统控件树的.

Blazor毕竟有微软做爸爸, 在VS上的支持是直接的, 由Razor文件来负责 HTML+C# 的代码模式, 完全支持智能提示.

天呀, 这不是就是我梦寐以求的开发方式吗? 于是, 在疫情期间, 我把以前的框架, 和Blazor直接整合在一起. 开始做一些小工程做验证.

现在这个整合大部分需求与问题都得到了解决. 还需要提供更多的控件用以提高工程的开发速度.

先上图,  看看 Blazor 的代码是长什么样子的.

(Razor语法, 和MVC有点接近. 但是MVC是输出静态HTML的, Blazor组件是生成服务器树状结构的)

与 MVC 的 Razor语法是接近的 , 然而最大不同时 , MVC 的最终目标是生成字符串发给浏览器.  而Blazor生成了模型之后, 依然是"活动"的, 随时准备好响应客户端的事件.


对于 Blazor 架构的一些特点, 画了一些图.

首先, 我把这种模式成为 "服务器UI映射" , 后面都会陆续使用这个概念.

个人看法 , 通常的情况, 仅供参考

Blazor 因为在服务器上把代码运行状态驻留在内存,

所以程序运行的上下文得以保存, 而关联的事件也会绑定到上下文中.

事件处理函数被调用时, 相关的对象和数据会全部可用.

具体的细节无法说太多, 毕竟这是新事物, 我自己也是一边使用一边积累心得.

我以后会陆陆续续放上各种例子, 提供给感兴趣的网友们, 用节省时间的方式去迅速掌握Blazor的开发流程.

最后, 放上一个对照表, 以供参考:

关于 Blazor Server Side 的一些杂项, 感想相关推荐

  1. active server pages 错误 asp 0126_最终选型 Blazor.Server:又快又稳!

    书接上文,昨天我们快速的走了一遍wasm的开发流程(我的『MVP.Blazor』快速创建与部署),总体来说还是很不错的,无论是从技术上,还是从开发上,重点是用C#来开启前端时代,可以开发SPA单页面应 ...

  2. Blazor Server 应用程序中进行 HTTP 请求

    翻译自 Waqas Anwar 2021年5月4日的文章 <Making HTTP Requests in Blazor Server Apps> [1] Blazor Server 应用 ...

  3. Blazor Server 和 WebAssembly 应用程序入门指南

    翻译自 Waqas Anwar 2021年3月12日的文章 <A Beginner's Guide To Blazor Server and WebAssembly Applications&g ...

  4. ASP.NET Core Blazor 初探之 Blazor Server

    上周初步对Blazor WebAssembly进行了初步的探索(ASP.NET Core Blazor 初探之 Blazor WebAssembly).这次来看看Blazor Server该怎么玩. ...

  5. Blazor.Server以正确的方式集成Ids4

    (一个真正的以后端形式来集成认证中心的方案) ❤ 本文导读 首先特别感谢张善友老师提供技术指导,源于上周我发了一篇文章 <[Mvp.Blazor] 集成Ids4,实现统一授权认证>, 我本 ...

  6. 如何给Blazor.Server加个API鉴权?

    (Ant Design of Blazor为努力而生) 书接上文,上次我们说到了最终选用Blazor.Server来实现了我们的MVP项目,额其实就是博客的增删改查,不过运行还是很爽的,不过是一个小d ...

  7. 最终选型 Blazor.Server:又快又稳!

    书接上文,昨天我们快速的走了一遍wasm的开发流程(我的『MVP.Blazor』快速创建与部署),总体来说还是很不错的,无论是从技术上,还是从开发上,重点是用C#来开启前端时代,可以开发SPA单页面应 ...

  8. 开源 一套 Blazor Server 端精致套件

    Blazor 作为一种 Web 开发的新技术已经发展有一段时间了,有些人标称 无 JS 无 TS,我觉得有点误导新人的意味,也有人文章大肆宣传 Blazor 是 JavaScript 的终结者,是为了 ...

  9. asp td tr 高度_ASP.NET Core Blazor 初探之 Blazor Server

    上周初步对Blazor WebAssembly进行了初步的探索(ASP.NET Core Blazor 初探之 Blazor WebAssembly).这次来看看Blazor Server该怎么玩. ...

最新文章

  1. java 登录按钮响应数据库_用户登录功能的实现—从前端到后台(包括数据库)...
  2. linux查看python环境变量_Linux中的Python环境变量
  3. 未能加载文件或程序集“****”或它的某一个依赖项。试图加载格式不正确的程序。解决方案总结
  4. cubase怎么添加midi设备_WIDI MASTER:5针无线蓝牙MIDI适配器
  5. mysql数据库插入datetime_往MySQL数据库datetime类型字段中插入数据库的当前时间
  6. 惠普台式机重装系统之后,无法进入系统
  7. 数字图像处理合集终章——车流量统计(后附源码)
  8. js模拟鼠标自动滑动滑块--dispatchEvent
  9. 安装卸载Windows服务方法(2种方法)
  10. Python基于OpenCV的人脸集合相似度检测系统(源码&UI&教程)
  11. linux怎么进入mnt目录,「Linux基础知识」Linux路径的表示方式
  12. 模糊c均值聚类算法原理详细讲解
  13. 如何在谷歌地图自定义范围_如何在Google地图中创建自定义地图
  14. 谷歌浏览器,添加手机模拟器
  15. 牛客网 吉首大学2019年程序设计竞赛(重现赛)A: SARS病毒(矩阵快速幂 + 碰巧降幂)
  16. 小甲鱼零基础学python笔记 P20 python变量简单了解
  17. html封面设计图片手绘大全,封面设计铅笔画手绘图片
  18. [深度学习] - 网络模型训练过程的 loss 变化分析 (loss / val_loss / test_loss)
  19. 你见过灰犀牛吗?也许它比黑天鹅还可怕
  20. 文档自动分类模型--分类算法思路总结

热门文章

  1. DataGridView很详细的用法
  2. InstallSield更新包快速入门文档----感谢原作者ㄣ齊¨彡仯乄的无私提供
  3. 安卓随机通话记录_Android 通话记录
  4. 移动硬盘改台式机硬盘_如何在台式机或移动设备上离线使用Google云端硬盘
  5. 如何使用Amazon Echo控制您的Eero Wi-Fi网络
  6. jQuery 对HTML的操作(二)
  7. Golang并发模型:合理退出并发协程
  8. JS基础入门篇( 一 )
  9. Android TimeAnimator
  10. eclipse创建maven多模块项目(单个类似)