Blazor 从零开始:全新系列
我写 Blazor 相关内容已经有一段时间了——组件生命周期、隔离 CSS、交互模型、身份验证。这些文章各自有其价值,但我一直觉得缺少一个基础。它们都默认你已经知道 Blazor 是什么、为什么存在,以及它如何融入更广泛的 .NET 生态系统。并非所有人都了解这些,这完全没问题。
所以我要开始一件新事:Blazor 从零开始。一个正经的系列,从基础构建,面向那些真正想理解自己在做什么的开发者——而不是一直复制粘贴直到能运行为止。
这个系列适合谁
如果你符合以下情况,这个系列就是为你准备的:
- 你是 .NET 开发者,听说过 Blazor,但从未找到合适的时机或起点深入研究。
- 你尝试过 Blazor,让它运行起来了,但感觉在猜测为什么事情会这样运作。
- 你来自 JavaScript/React/Angular 的世界,想了解微软对现代前端的答案是什么样的。
- 你想要一个完整一致的资源,而不是零散的文档和博客文章。
你不需要是高级开发者。但你需要对 C# 基础感到自在——类、接口、async/await。如果你能用 ASP.NET Core 写一个简单的 CRUD API,那你已经准备好了。
我们将涵盖的内容
以下是我计划的大致路线图。部分主题将根据需要扩展为多篇文章:
- 什么是 Blazor? ——托管模型、历史背景、与传统 Web 开发的比较
- 你的第一个 Blazor 应用 ——脚手架、项目结构、本地运行
- 组件 ——每个 Blazor UI 的基本构建块
- 数据绑定与事件 ——让你的 UI 具有响应性
- 组件通信 ——参数、EventCallbacks、级联值
- 路由与导航 ——Blazor 如何处理 URL 和页面切换
- 依赖注入 ——服务、范围与 Blazor 中的 DI 容器
- 表单与验证 ——EditForm、DataAnnotations、自定义验证器
- HTTP 与外部数据 ——在 Blazor 应用中调用 API
- 身份验证与授权 ——以正确方式保护你的应用
- JavaScript 互操作 ——当你需要直接访问浏览器时
- 性能与优化 ——虚拟化、懒加载、渲染策略
- Blazor 组件测试 ——bUnit 与一个扎实的测试长什么样
- 部署 ——发布到 Azure、IIS 和静态托管平台
这个列表会随时间演进。有些主题会拆分成多篇文章,有些可能会合并。随着系列推进,我会持续更新这篇文章,并在每篇文章发布时添加链接。
为什么要做系列,为什么是现在
Blazor 已经成熟了很多。随着 .NET 8 和 9,渲染模型经历了重大改造——静态 SSR、流式渲染、交互式 Server、交互式 WebAssembly 和 Auto 模式现在都在同一个框架下共存。这是一个真正有趣且能力强大的框架,但复杂度的提升让入门体验变得令人困惑。
我想构建一个能从你所在之处出发、系统地引导你走完全程的资源。不是官方文档的替代——官方文档很好,你应该去读——而是一个解释是什么背后的为什么的伙伴。
如何跟进系列
系列中的每篇文章都足够独立,可以单独阅读,但它们也会相互依托。如果你从头开始,我建议按顺序阅读。如果你是为了填补某个具体空白而来,那也完全没问题——我会在重要的地方链接前置文章。
每篇文章的代码都会发布在 GitHub 上。随着系列推进,我会陆续分享链接。
下篇见。