个人使用Blazor与BootstrapBlazor重构网站的开发体验太棒了
5月份写过一篇《 微软系列Blazor开源Web框架入门学习到放弃》没想到打脸这么快就来了 经过两个版本迭代更新 开发已完全切换到Blazor平台,开发体验简直爱不释手。感兴趣的可以看看 # Bootstrap Blazor - 组件库
最开始接触到到 Blazor 的时候站长是非常感兴趣的,但可惜当时刚了解不多试了下就直接开始开发体验,在没经验的情况下在使用过程中总是出现各种小问题,当时观感比较差,现在感觉是真香啊!
还没接触Blazor的时候,前端框架多得让人眼花缭乱,偶然间了解到Blazor 第一感觉这不就是给站长这类后端人员量身定做的神器吗。因为以往私下底的vue网站开发经验心里难免就很犯嘀咕,用 C# 怎么写前端?这真能行?前端不都是用 JavaScript、TypeScript 那些,按部就班地从 HTML、CSS 一点点搭,再靠 JavaScript 让页面动起来。
实际上网页的搭建的本质并没有变 只是Blazor相当于二次用C#做了封装,页面交互不是复杂到必须手搓js的情况下后端人员几乎完全不用写js就可以轻易搭建出一个页面功能,而且因为交互机制的问题,后台不用暴露webapi接口给前端调用 安全性上也有一定的优势。
8月份 第一次重构
随着博客的各种功能更新也积累了一地鸡毛,各种js文件引用管理,本身是纯后端程序员,搞前端的同时还要整各种接口,一个小博客维护量就很大了,平时忙着而上班时间也比较少,由于8月份接触到了BootstrapBlazor框架,第一眼我就大致确定了博客程序开发下一阶段的开发方向,于是8月就给网站做了整体重构,由于事先做了些知识技能储备,外加BootstrapBlazor组件开发友好这块也确实做的很不错,开箱即用,比以往的vue重构效率翻了很多倍(博客程序比较简单对于特效这块要求不高),前端用BootstrapBlazor组件或html 只需要简单布局后端基本可以完全不用写接口、js代码(如果较真必须用到也是可以用的,只是比较繁琐一些,需要单独开发相关组件),再结合freesql直接操作数据库,我只能说牛B。。。。。
以前在 JavaScript、TypeScript 里折腾,思维换来换去,累得不行。Blazor 把前后端语言这堵墙给拆了,重构非常顺畅,学习成本和时间成本降了不少,然而开发效率却肉眼可见地往上提。还有,它靠 WebAssembly 能让.NET 代码直接在浏览器跑,网站运行起来跟原生应用似的,流畅得很,甚至于Blazor如果放在wpf这类桌面框架中 ,可以开发桌面PC软件,放手机端平台就是app,牛B。。。。。。
12月份 第二次重构
这次更新比较大的就是放弃了自己来做网站页面设计(后端来设计前端太难看了,索性放弃了),直接完全套用BootstrapBlazor框架提供的组件 进行拼装,减少自己在前端设计方向上没有意义的挣扎。
因为本次重构专注于后端服务功能上的开发和打磨,所以比上次重构花的时间更少
整体开发体验大变样
这开发体验跟之前比,简直像换了个样。从最开始搭快速原型,到中间填业务逻辑,再到最后优化性能、微调界面,Blazor 和 Bootstrap Blazor 配合得那叫一个默契,全程顺风顺水。开发进度比原计划提前好多,网站上线后,性能、界面友好度、用户交互体验都不错,用户反馈挺好。这时候我就明白了,技术架构和工具选对了,项目就成功一半了。 回顾这趟重构之旅,我觉着 Blazor 和 Bootstrap Blazor 给我的网站和软件开发指明了一条相对轻松的开发方向(停止内卷,拒绝996,你我做起)。
后续继续挖掘,在没有更好的替代技术前接着研究 Blazor,把博客网站弄得更好。
不过也有个比较明显的短板,Server模式下 基于Socket通信 对网络要求比较高,一旦出现网络不通畅或断网的情况下 整个页面就会无法操作。