posts

《互联网产品的客户端架构·规模化与架构演进》 · 已发布章节索引(45 篇)

《互联网产品的客户端架构·规模化与架构演进》全 45 篇:13 章覆盖多端一致性、设计系统、插件化、性能治理、稳定性、构建交付、可观测性、安全隐私、国际化、无障碍、架构治理、迁移与平台化收口;附序、前言、目录与三篇附录,配可运行 TypeScript 实验工程。

全卷 45 篇:13 章正文 + 序、前言、目录 + 附录 A/B/C。每节配可运行的 TypeScript 代码,代码块用 // file: / // tier: / // verify: 标注,可在实验工程中逐字节还原。

本页是卷四的完整索引。可以从目录与学习路径 按顺序通读,也可以按问题跳读。

全书概览

项目内容
书稿《互联网产品的客户端架构》卷四
已发布篇数45 篇(含目录与附录)
主线语言TypeScript(Node 26 原生类型剥离,零第三方依赖)
贯穿案例内容社区「回声」的五个端:Web、iOS、Android、小程序、桌面
阅读方式目录篇顺序通读,或按章节表跳读
上级专题书稿专题

前置

篇文章核心内容
序序从「五端各自发布」写起,交代前三卷的三笔债、卷四的四条判断与十三章收束方式。
前言前言每章四段写法、evolve-lab 模块地图、代码约定、团队用法与三个动手练习。
目录目录13 章 39 节的结构、章节依赖、三条阅读路径与读完应能回答的六个问题。

第 1 章 多端一致性与平台边界

节文章核心内容
1.11.1 五类端形态与一致性承诺多端架构的第一步不是共享代码,而是定义哪些行为必须一致、哪些可以等价、哪些允许不同。本节给出 Web、iOS、A…
1.21.2 共享内核与端上适配层共享内核不是把所有代码塞进一个包,而是把可共享的判断放在 core、把端差异隔离在 adapter,并用依赖规则…
1.31.3 能力探测与渐进增强端能力不是布尔值:同一个支付能力可能是原生、polyfill 或完全缺失,同一个功能可能是必需或可选。本节用能力…

第 2 章 设计系统与组件平台

节文章核心内容
2.12.1 设计 token 与主题化同一条按钮 token 在暗色主题下解析成透明文字,往往不是样式写错,而是三层 token 的解析链断了。本节用…
2.22.2 组件契约与版本化按钮组件从 1.4 升到 1.5,发布说明写着「只加了可选属性」,四十多个业务包却在编译期报错。问题不在版本号,…
2.32.3 多品牌与多业务复用四个品牌共用一套组件库,一次全量合并后,A 品牌的结算主色出现在 B 品牌的收银台,排查发现是品牌包被当成全局配…

第 3 章 插件化与动态化

节文章核心内容
3.13.1 插件协议与宿主边界插件化不是把代码拆出去,而是先定义宿主与插件的契约边界。本节从三个宿主版本同时在线、插件清单失控的现场出发,给出…
3.23.2 沙箱、权限与失败隔离插件沙箱的目标不是让插件跑不起来,而是让它在越权时被拒绝、在崩溃时被隔离。本节从一次插件读取全盘文件、拖垮首页的…
3.33.3 动态配置与热更新的停止条件热更新的难点不是把配置推下去,而是知道什么时候必须停下来。本节从一次凌晨配置推送引发的崩溃出发,给出默认、环境、…

第 4 章 性能治理体系

节文章核心内容
4.14.1 性能预算与分端指标性能预算不能只有一条全局阈值。本节把启动、首屏、交互、内存四类指标按 Web、iOS、Android、小程序、桌…
4.24.2 归因:从慢到哪一行只知道首屏慢没有用,必须回答慢在哪个阶段、哪条路径、哪一行。本节把一次加载拆成网络、解析、渲染、脚本四个阶段,用…
4.34.3 优化闭环与回归防护性能优化没有闭环,就等于把成果交给下一次发版碰运气。本节把优化项登记、基线对比、阈值与显著性、回归门禁串成一条可…

第 5 章 稳定性与容错架构

节文章核心内容
5.15.1 故障域与爆炸半径端上故障很少只坏一个按钮:一个共享依赖失效,可能同时带走首页、下单与通知。本节把依赖图、故障域、单点与爆炸半径写…
5.25.2 降级、开关与兜底开关越多,事故时越容易互相打架:用户级、实验级、端级与全局规则同时命中时,必须有一个确定的赢家。本节把开关层级、…
5.35.3 故障演练与恢复验证演练最容易通过的部分是注入,最容易造假的部分是恢复。若没有恢复断言与未通过项记录,「演练成功」只是一句口号。本节…

第 6 章 构建与交付工程

节文章核心内容
6.16.1 Monorepo 与包边界Monorepo 的难点不是把代码放进一个仓库,而是让包边界可执行。本节把包声明、依赖、公开与内部可见性、子路径…
6.26.2 产物治理与缓存缓存命中率低,原因往往不是缓存没有生效,而是缓存键没有覆盖真正的输入。本节把内容哈希、工具链、环境变量与依赖产物…
6.36.3 发布流水线与灰度回滚发布流水线的价值不在自动化,而在每一步都能给出可解释的放行或阻断。本节把阶段门禁、灰度比例、健康阈值与回滚触发写…

第 7 章 端上可观测性

节文章核心内容
7.17.1 日志、指标与追踪的最小契约一次支付故障排查花掉三小时,根因不是代码,而是四个团队的上报字段各说各话。本节把日志、指标、追踪收敛成一份可校验…
7.27.2 采样、脱敏与成本日志量一周涨二十倍,账单和合规风险同时到来。本节给出端上采样的三张策略表:按等级采样、按字段脱敏、按等级保留;用…
7.37.3 从告警到定位的闭环一次故障刷出三百条告警,值班同学先花二十分钟分辨哪些是同一件事。本节把告警做成状态机与可计算对象:规则字段、指纹…

第 8 章 安全、隐私与合规

节文章核心内容
8.18.1 数据分级与最小权限数据分级只有落到字段、用途与流向上才可执行。本节把公开、内部、敏感、极敏感四级数据写成可测试的纯函数,演示字段级…
8.28.2 第三方 SDK 治理第三方 SDK 的风险不该靠印象打分。本节用可解释的权重表计算风险分,覆盖权限差异、初始化时机、治理问题清单与下…
8.38.3 隐私合规的工程落地同意不是一个布尔值,而是一台有状态、有版本、可撤回的机器。本节实现未询问、已同意、已拒绝、已撤回四态状态机,演示…

第 9 章 国际化与本地化

节文章核心内容
9.19.1 文案、时区与货币同一笔订单在圣保罗下单、在莫斯科退款时,文案复数、时区换算和货币最小单位会同时出错,三类故障常常互相掩盖。本节把…
9.29.2 RTL、排版与本地内容阿拉伯语用户打开同一张订单页,返回箭头仍指向左边,订单号在双向文本里跳到句子另一端。本节把方向传播、逻辑属性映射…
9.39.3 区域能力差异与降级同一版本在德国能刷卡、在巴西只能货到付款、在阿联酋没有在线客服。区域能力不是布尔开关,而是有优先级的矩阵与降级链…

第 10 章 无障碍与包容性

节文章核心内容
10.110.1 语义结构与焦点顺序读屏用户听到一连串「按钮」,键盘用户按 Tab 从页头直接跳到页脚,弹窗打开后焦点再也出不去。本节把角色、名称、…
10.210.2 读屏、键盘与动效偏好下单失败时错误条只在视觉上出现,读屏用户什么也没听到;优惠券排序只能拖动,键盘用户无法完成;系统开了「减少动效」…
10.310.3 无障碍测试与验收发布前扫描器报告零错误,上线后仍收到「弹窗关不掉」「读屏走不通」的投诉:自动规则测不到焦点陷阱,也没有严重级别来…

第 11 章 团队协作与架构治理

节文章核心内容
11.111.1 架构决策记录与契约从一次没人记得的架构决策出发,把 ADR 拆成九个必填字段、四态生命周期、集合级完整性校验与契约变更登记,并给出…
11.211.2 代码所有权与评审从一次合并后三周无人认领的线上问题出发,把代码所有权拆成路径规则、owner 映射、覆盖度、评审路由与无人负责路…
11.311.3 技术债台账与治理节奏从一份永远排不上期的技术债清单出发,把债务治理拆成条目字段、严重度与影响面、偿还排期、逾期标记与季度节奏五部分,…

第 12 章 架构演进与迁移

节文章核心内容
12.112.1 绞杀者与渐进式替换绞杀者替换的关键不是一次删掉旧代码,而是让新旧路径同时存在,并按用户、端与功能分桶逐步放量。本节把路由比例、白名…
12.212.2 双写双读与兼容窗口双写不是把同一份数据写两遍就结束,真正决定成败的是写入顺序、次写失败后的降级、双读比对口径,以及兼容窗口何时关闭…
12.312.3 迁移的退出条件与回滚迁移的终点不是新路径上线,而是旧路径被安全删除。本节给出流量、错误、数据一致与观察期四类退出判据,把回滚资产检查…

第 13 章 卷四收口:从应用到平台

节文章核心内容
13.113.1 端到端:多端同一笔交易的体验一致性同一笔已支付订单在 Web、iOS、Android、小程序和桌面回放,金额、状态与文案只要有一处不同,用户就会怀…
13.213.2 平台化验收:能力矩阵与治理清单平台化不是把组件数量堆上去,而是让承诺、组件、交付、观测、安全与治理六个维度都能拿出证据。本节用成熟度矩阵给每个…
13.313.3 全书收官:四卷回顾与下一站四卷一百八十节讲完,真正要留下的是一个能自查的承诺模型,而不是一份读完的目录。本节把四卷的核心问题整理成十五项收…

附录

篇文章核心内容
附录 A附录 A十二组核心术语与判据速查:承诺、边界、能力、性能、稳定性、交付、观测、安全、国际化、无障碍、治理、迁移。
附录 B附录 B按十类症状组织的多端排查手册:先查什么、常见根因、验证与预防。
附录 C附录 C六十五题架构评审清单、快速十问、记录模板与常见分歧处理。

怎么读这一卷

配套实验

全部代码位于 evolve-lab,按章分目录:src/platform、src/design、src/plugin、src/perf、src/stability、src/build、src/observability、src/security、src/i18n、src/a11y、src/governance、src/migration、src/summary。

运行方式:node --test test/<目录>/*.test.ts。Node 26 原生类型剥离,无 package.json、无第三方依赖。

三篇附录

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
books

《互联网产品的客户端架构·规模化与架构演进》附录 C 架构评审清单

卷四附录 C:一份可直接投影使用的多端架构评审清单,按承诺边界、设计系统、插件动态化、性能、稳定性、交付、可观测性、安全合规、国际化无障碍、治理迁移十组展开;每题要求填写现状、证据、缺口与 owner;另附快速十问、评审记录模板、常见分歧的处理方式与评审边界,可直接投影或导入工单系统使用。

8 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》附录 B 多端问题排查手册

卷四附录 B:按十类症状组织多端排查手册,包括功能在某端不可用、同一笔订单状态不同、组件样式漂移、发布后白屏、性能退化、线上问题无法定位、第三方 SDK 隐私风险、区域格式错误、读屏不可用与迁移卡住;每类给出先查什么、常见根因、验证方式与预防动作。

8 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》附录 A 术语与判据速查

卷四附录 A:把承诺、边界、能力、性能、稳定性、交付、可观测性、安全、国际化、无障碍、治理与迁移十二组核心术语与判据压缩成速查表,每项给出定义、判断条件、常见误用与对应章节;另附一页纸十二问与中英术语对照,便于架构评审、跨团队对齐与新人上手时直接引用。

7 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》13.3 全书收官:四卷回顾与下一站

四卷一百八十节讲完,真正要留下的是一个能自查的承诺模型,而不是一份读完的目录。本节把四卷的核心问题整理成十五项收官检查表,用覆盖率与未关闭项生成下一步建议,并给出继续演进、转入巩固与冻结架构三类停止条件,帮助读者判断什么时候该停下来、什么时候只需维护。

9 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》13.2 平台化验收:能力矩阵与治理清单

平台化不是把组件数量堆上去,而是让承诺、组件、交付、观测、安全与治理六个维度都能拿出证据。本节用成熟度矩阵给每个条目打分,按缺口排名生成改进顺序,再用维度均值、单项底线、证据要求与加权总分四道门槛完成验收,并说明为什么平均分与权重都不能代替单项底线。

7 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》13.1 端到端:多端同一笔交易的体验一致性

同一笔已支付订单在 Web、iOS、Android、小程序和桌面回放,金额、状态与文案只要有一处不同,用户就会怀疑这笔钱去了哪里。本节用可运行的 TypeScript 场景脚本收集五端观测,把差异归为呈现、环境、契约与未知四类,并给出阻断、警告与放行的发布判据。

7 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》12.3 迁移的退出条件与回滚

迁移的终点不是新路径上线,而是旧路径被安全删除。本节给出流量、错误、数据一致与观察期四类退出判据,把回滚资产检查、宣布结束、宽限期与旧路径删除写成状态机函数,并说明每条判据的边界与反例:指标刚好达标算不算过,回滚资产存在但过期算不算就绪,以及删除后无法回滚的代价。

6 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》12.2 双写双读与兼容窗口

双写不是把同一份数据写两遍就结束,真正决定成败的是写入顺序、次写失败后的降级、双读比对口径,以及兼容窗口何时关闭。本节把顺序、差异率、窗口状态与到期决策写成纯函数,用可复现的样本回答两个问题:数据到底差多少,旧路径什么时候可以删,以及删除之前还需要哪些证据。

6 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》12.1 绞杀者与渐进式替换

绞杀者替换的关键不是一次删掉旧代码,而是让新旧路径同时存在,并按用户、端与功能分桶逐步放量。本节把路由比例、白名单与 holdback、确定性哈希、接管进度和回退写成可测试的纯函数,让每一次请求都能解释自己为什么走新路径或旧路径,也说明如何判断迁移是否真正完成。

6 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》11.3 技术债台账与治理节奏

从一份永远排不上期的技术债清单出发,把债务治理拆成条目字段、严重度与影响面、偿还排期、逾期标记与季度节奏五部分,给出可运行的 TypeScript 模块与测试。文中说明优先级分数、容量约束、逾期判据与季度摘要,并解释为什么台账不能变成许愿池。

9 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》11.2 代码所有权与评审

从一次合并后三周无人认领的线上问题出发,把代码所有权拆成路径规则、owner 映射、覆盖度、评审路由与无人负责路径识别五部分,给出可运行的 TypeScript 模块与测试。文中说明优先级覆盖、通配规则边界、兜底 owner 的取舍,以及所有权规则为什么会悄悄失效。

8 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》10.3 无障碍测试与验收

发布前扫描器报告零错误,上线后仍收到「弹窗关不掉」「读屏走不通」的投诉:自动规则测不到焦点陷阱,也没有严重级别来决定先修什么。本节把规则集、严重级别、加权覆盖度、验收门槛与人工走查清单写成一套可执行的审计模型,并说明为什么覆盖度与门槛必须一起看。

10 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》10.2 读屏、键盘与动效偏好

下单失败时错误条只在视觉上出现,读屏用户什么也没听到;优惠券排序只能拖动,键盘用户无法完成;系统开了「减少动效」,页面仍在自动轮播。本节把播报内容、键盘绑定与减少动效、放大字体、高对比三类偏好映射写成可测试的纯函数,并说明去重与里程碑为什么必须进入模型。

8 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》9.3 区域能力差异与降级

同一版本在德国能刷卡、在巴西只能货到付款、在阿联酋没有在线客服。区域能力不是布尔开关,而是有优先级的矩阵与降级链。本节把支付、物流、地图、客服四类能力、缺失时的降级路径与区域判定优先级写成可测试模块,避免同一区域在不同页面表现不一致,并给出判据与反例。

8 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》9.2 RTL、排版与本地内容

阿拉伯语用户打开同一张订单页,返回箭头仍指向左边,订单号在双向文本里跳到句子另一端。本节把方向传播、逻辑属性映射、双向文本隔离与图标镜像规则写成可测试的 TypeScript 模块,并说明哪一层负责决定方向、哪些元素该镜像、哪些必须保持原样。

8 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》8.3 隐私合规的工程落地

同意不是一个布尔值,而是一台有状态、有版本、可撤回的机器。本节实现未询问、已同意、已拒绝、已撤回四态状态机,演示采集前闸门、目的绑定、版本过期重问与撤回后的分目的清理,并给出可审计的判据与常见错误边界。同意管理不是弹窗文案问题,而是采集链路上的硬闸门。

6 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·规模化与架构演进》8.2 第三方 SDK 治理

第三方 SDK 的风险不该靠印象打分。本节用可解释的权重表计算风险分,覆盖权限差异、初始化时机、治理问题清单与下线证据检查,并讨论评分阈值、例外审批,以及「删依赖不等于下线」的工程边界,给出可复算的准入与退出判据。评分只是入口,能否上线与能否下线都要落到证据。

6 分钟阅读
书稿 互联网产品 客户端架构