Blazor 从零开始:全新系列

· 1 分钟阅读

我写 Blazor 相关内容已经有一段时间了——组件生命周期、隔离 CSS、交互模型、身份验证。这些文章各自有其价值,但我一直觉得缺少一个基础。它们都默认你已经知道 Blazor 是什么、为什么存在,以及它如何融入更广泛的 .NET 生态系统。并非所有人都了解这些,这完全没问题。

所以我要开始一件新事:Blazor 从零开始。一个正经的系列,从基础构建,面向那些真正想理解自己在做什么的开发者——而不是一直复制粘贴直到能运行为止。

这个系列适合谁

如果你符合以下情况,这个系列就是为你准备的:

  • 你是 .NET 开发者,听说过 Blazor,但从未找到合适的时机或起点深入研究。
  • 你尝试过 Blazor,让它运行起来了,但感觉在猜测为什么事情会这样运作。
  • 你来自 JavaScript/React/Angular 的世界,想了解微软对现代前端的答案是什么样的。
  • 你想要一个完整一致的资源,而不是零散的文档和博客文章。

你不需要是高级开发者。但你需要对 C# 基础感到自在——类、接口、async/await。如果你能用 ASP.NET Core 写一个简单的 CRUD API,那你已经准备好了。

我们将涵盖的内容

以下是我计划的大致路线图。部分主题将根据需要扩展为多篇文章:

  1. 什么是 Blazor? ——托管模型、历史背景、与传统 Web 开发的比较
  2. 你的第一个 Blazor 应用 ——脚手架、项目结构、本地运行
  3. 组件 ——每个 Blazor UI 的基本构建块
  4. 数据绑定与事件 ——让你的 UI 具有响应性
  5. 组件通信 ——参数、EventCallbacks、级联值
  6. 路由与导航 ——Blazor 如何处理 URL 和页面切换
  7. 依赖注入 ——服务、范围与 Blazor 中的 DI 容器
  8. 表单与验证 ——EditForm、DataAnnotations、自定义验证器
  9. HTTP 与外部数据 ——在 Blazor 应用中调用 API
  10. 身份验证与授权 ——以正确方式保护你的应用
  11. JavaScript 互操作 ——当你需要直接访问浏览器时
  12. 性能与优化 ——虚拟化、懒加载、渲染策略
  13. Blazor 组件测试 ——bUnit 与一个扎实的测试长什么样
  14. 部署 ——发布到 Azure、IIS 和静态托管平台

这个列表会随时间演进。有些主题会拆分成多篇文章,有些可能会合并。随着系列推进,我会持续更新这篇文章,并在每篇文章发布时添加链接。

为什么要做系列,为什么是现在

Blazor 已经成熟了很多。随着 .NET 8 和 9,渲染模型经历了重大改造——静态 SSR、流式渲染、交互式 Server、交互式 WebAssembly 和 Auto 模式现在都在同一个框架下共存。这是一个真正有趣且能力强大的框架,但复杂度的提升让入门体验变得令人困惑。

我想构建一个能从你所在之处出发、系统地引导你走完全程的资源。不是官方文档的替代——官方文档很好,你应该去读——而是一个解释是什么背后的为什么的伙伴。

如何跟进系列

系列中的每篇文章都足够独立,可以单独阅读,但它们也会相互依托。如果你从头开始,我建议按顺序阅读。如果你是为了填补某个具体空白而来,那也完全没问题——我会在重要的地方链接前置文章。

每篇文章的代码都会发布在 GitHub 上。随着系列推进,我会陆续分享链接。

下篇见。