最近在琢磨程序员怎么干副业赚外快,但是苦于不会写JS、Python等,很多项目都与我无缘了,琢磨来琢磨去,刚好了解到其实c# 也能用来写网页,随手记一下我最近的学习结果,但是这个目前市场上好像用的比较少,后面可能还会更详细的讲一点我的开发经历。有了解或使用过的大佬,也可以留言交流,一起进步。简而言之,Blazor是微软推出的Web前端框架。核心就是用C#替代JavaScript构建交互式Web界面,组件用Razor语法编写,HTML和C#可写在同一文件,前后端共享一套类型定义。不用纠结状态管理和网络请求封装,熟悉.NET的开发者。
Blazor Server逻辑跑在服务器,浏览器仅做轻量终端,通过SignalR长连接传输事件,首屏快但依赖稳定网络,适合内网后台、实时仪表盘。Blazor WebAssembly(WASM)将.NET运行时和代码编译后下载到浏览器,可离线运行,但首次加载需下载几百KB数据,冷启动慢,适合公网、跨平台应用。Blazor最大槽点是WASM模式加载体积大,虽经AOT编译、Broti压缩优化,仍不及原生JS框架;Server模式则依赖网络,波动易卡顿。不过.NET 8新增静态服务端渲染(SSR),提升首屏速度和SEO;.NET 10推出Blazor United,统一两种渲染模式,组件可按需选择,彻底解决“二选一”困境。Blazor能让.NET开发者快速搞定前后端,而不用再去学习JS全家桶,市场上目前也有一些成熟的UI库可供使用。独立开发者或小团队,可复用.NET后端代码,减少重复工作。最后我想说的是,Blazor不是必选项,但对.NET开发者而言,终于能不用硬啃JS,用熟悉的C# 挺直腰板做全栈开发,何乐而不为呢。