附录 B
精选一手资源 + 经典书目
不收录二手解读、不列排行榜。这里每一本 / 每一个链接都是我们实际读过、 用过、且认为值得你花时间的资源。收录标准见 SPEC-0002。
🌐 一手资料
当你有疑问时,先来这里——而不是搜索引擎。一手资料是唯一的真相来源。
规范与标准
- ECMAScript 语言规范(TC39)JS 语法的唯一权威来源。不需要通读,但当你对某个特性的行为有疑问时,来这里而不是 Stack Overflow。
- WHATWG HTML Living StandardHTML 和 DOM 的现行标准——'living' 意味着持续更新,MDN 的文档以此为准。
- W3C CSS 规范索引CSS 各模块的规范入口。不需要全读,但了解哪些特性在哪个规范里能帮你判断浏览器支持时间线。
- HTTP/1.1 RFC 7230–7235HTTP 协议的权威定义。读 §4(HTTP semantics)就能理解缓存、条件请求、内容协商——前端性能优化的大部分决策都基于此。
文档与教程
- MDN Web DocsWeb 平台的百科全书。API 参考、指南、浏览器兼容性数据——前端工程师的默认第一站。
- React 官方文档(react.dev)2023 年重写版,以'思考方式'为主线而非 API 罗列。先读'Quick Start'再读'Describing the UI'。
- Next.js 官方文档App Router 模式的完整指南。从 Routing 到 Data Fetching 到 Caching——每个概念都有交互式示例。
- TypeScript HandbookTS 官方入门教程。先读'Everyday Types'和'Narrowing'——这两章覆盖了 80% 日常使用场景。
- web.dev(Google)Google 的 Web 最佳实践指南。Performance、PWA、Accessibility 各板块有一手案例和度量方法。
工具与数据
- Can I Use浏览器特性支持查询。做兼容性决策时的第一站——输入特性名,看到全球和中国市场的支持百分比。
- Bundlephobianpm 包的体积分析。加依赖前先查——包大小、gzip 后、tree-shaking 友好度、依赖图。
- Chrome for DevelopersChrome 团队的官方博客。新 API 的发布说明、性能 case study、DevTools 技巧——一手来源,不是二手解读。
📚 经典书目
按学习阶段分档——'入门'建立心智模型,'进阶'理解为什么,'资深'培养审美与判断力。
入门——建立心智模型
- Eloquent JavaScript(4th ed.)—— Marijn Haverbeke入门
用'写代码'教编程——每一章都有可运行的示例和习题。Part 1(语言)+ Part 2(浏览器)覆盖了前端最核心的 JS 知识。
- Web 前端开发(第 4 版)—— MDN 社区入门
MDN 团队编写的结构化教程,比零散查文档更适合系统学习。HTML/CSS/JS 三件套的'教科书'版本。
进阶——理解'为什么'
- You Don't Know JS Yet(2nd ed.)—— Kyle Simpson进阶
深入 JS 语言机制的系列。Scope & Closures 卷是必读——不理解闭包就无法真正理解 React hooks。
- CSS: The Definitive Guide(5th ed.)—— Eric A. Meyer, Estelle Weyl进阶
CSS 的'规格说明书'翻译成人话。当 MDN 的解释不够深入时读这本——特别是 Layout 和 Visual Effects 章节。
- Designing Data-Intensive Applications—— Martin Kleppmann进阶
严格来说不是前端书。但理解存储、复制、分区、事务之后,你对'前端状态管理'的看法会彻底改变——为什么 Redux 这样设计、为什么缓存这么难。
资深——审美与判断力
- Refactoring UI—— Adam Wathan, Steve Schoger资深
从程序员视角讲设计——间距、颜色、字体、层级。不是理论,是具体可操作的 tactics:'什么时候用 border 而不是 shadow'、'表单标签放左边还是上面'。
- The Pragmatic Programmer(20th Anniversary ed.)—— David Thomas, Andrew Hunt资深
不限于前端,但每一章都适用于前端工程化。'Don't Live with Broken Windows'、'Orthogonality'、'Tracer Bullets'——这些原则在你设计组件库和构建管线时会反复出现。