Blazor 学习笔记
之前就听说 Blazor,以为就是和 RazorPage 差不多就没怎么看。今天仔细查了一下,才发现自己错过了如此强大的框架,赶紧学习一下!
特点
- Blazor 很像 Vue 或 React,可以构建丰富的交互式 Web 应用
- Blazor 中的逻辑代码,完全是用 .net 代码写的,因此前端终于可以换个套路,不再用到 JS 了
- 页面语法仍然是 Razor ,但是多了一些特有的元素
- Blazor 真正实现了双向绑定,而不是像 RazorPage 那样的弱绑定。因此现在可以真正的用 MVVM 思想来写前端了
学习资源
- Blazor 开源地址
https://github.com/dotnet/aspnetcore
- 微软官方 Blazor 网站
https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor
- Blazor Extensions - 精选 Blazor 扩展
https://github.com/BlazorExtensions
- Study Blazor
https://studyblazor.com
- Ant Design Blazor
https://ant-design-blazor.gitee.io
运行模式
Blazor 分为两种模式
- Blazor Server 即服务端模式
- Blazor WebAssembly 即 WebAssembly 模式
服务端模式
服务端模式是在服务端运行并渲染,浏览器使用 SignalR 实时推送至服务器,服务器再返回给浏览器 DOM 差异部分。
也就是说,服务端模式是通过 SignalR 实现实时交互的
WebAssembly 模式
WebAssembly 模式所有的 .net 代码都是在浏览器中通过 JavaScript 运行的,因此首次加载页面会比较慢,需要下载一些文件。
WebAssembly 模式是基于 WebAssembly(缩写 WASM)实现的
WASM 已支持所有现代浏览器,并且优化速度很快,接近本地性能,得益于 WASM,传统软件有望使用 web 实现