双十二大前端工程师读书清单

本文最先为双十一而做,原标题“双 11 大前端工程师读书清单”,以付费的形式发布在 GitChat 上。发布以后在读者圈群聊中和读者进行了深刻的交流,现免费分享到这里,不足之处欢迎指教,也能够在个人 GitChat 读者圈中进行提问,原文以下。前端


发布完本次 Chat 预告后,捕捉到了一个友善的吐槽:“读书清单也要收费?”。的确,只是一个列表的话,你彻底没必要点进来,我也没必要在这里大费周折的推荐给你。但你仍是看到这篇文章了,由于你懂什么是博客,你也能理解知识付费对做者的自发性要求;更或许你认识我,看过个人《如何写一篇优质的博客》而愿意相信本文的质量——不管哪一种,感谢你的到来,开始干货吧。git

本场 Chat 将尝试创建「双 11 期间,大前端领域有趣的买书荐书交流区」,并围绕如下书籍主题进行详细探讨:程序员

  1. 从软件工程到大前端开发
  2. HTML、CSS 荐书品书
  3. JavaScript 荐书品书
  4. 计算机网络荐书品书
  5. Node.JS 荐书品书
  6. 软件工程荐书品书
  7. 尝试构建大前端知识体系

同时,本场 Chat 的读者圈也将长期维护,一块儿与前端领域的大牛们进行激烈的思惟碰撞,在交流中绘制出咱们专属的书籍成长之路。github

从软件工程到大前端开发

此次咱们依旧从软件工程提及。从软件危机的诞生到如今,行业领头的软件工程师们给咱们描绘了这么一幅专业技能培养方案:正则表达式

对于没有了解过软件开发的学生,学的第一门是《计算机导论与程序设计基础》。导论部分论述了计算机发展史、计算机基本组成和计算机网络等概念,后期的分科都离不开这个大范围;程序设计基础部分经过快速了解 Python 语法,完成能写出最简洁的输入输出、分支/循环结构的阶段性目标。算法

接下来详细学习的是面向过程的表明,C 语言。经过重温 Python 中遇到的输入输出流、分支循环结构,再引入程序编译连接原理、指针/连接等在 C 语言中独特的数据类型和数据结构,让咱们打下坚实的编程基础 [1]。数据库

[1]:在这个阶段,咱们或多或少会经历的挫折有:npm

  1. 安装各类集成开发环境;
  2. 安装 Linux 虚拟机/双系统;
  3. 调试各类 C 语言 Bug,常常怀疑是程序错了而不是你错了;

只要耐心一点,以上的经历对咱们编程习性的养成都颇有帮助。编程

第一年很快的过去后,大二和大三阶段的课程各个掷地有声——数据结构、算法设计、数据库原理、操做系统、计算机网络,内容量的安排上足以让咱们有能力去企业进行实习。后端

但是,这和大前端开发有什么关系?

在整个软件工程的专业培养方案里,并无任何局限于 Web 开发领域的踪影,更没有局限于前端开发。何况,前端开发被业界重视的时间并非很长 [2]。所以隶属于软件开发一个分支的前端开发,急需大量对计算机体系有充足了解的人才的加入。为了避免被“学前端人不少”现象形成的泡沫冲击,咱们就得拿起计算机科学素养来抵抗。

[2]:使用 XMLHTTPRequest 技术的 Ajax 划分出了一个先后端分离的时代,今后业务逻辑的处理逐步向客户端转移,服务端更多的提供数据接口。

HTML、CSS 荐书品书(3+ 本)

《 Head First HTML 与 CSS(第二版) 》

中文版出版时间:2013-09

前端开发走在用户交互体验变革的最前沿,咱们所见的一切实体均可以被素描,被构建。锻炼咱们视觉的敏锐性、发现瑕疵并提出本身的设计方案,成为了视觉工程师的独特魅力。前端工程师与视觉工程师有很大的交集之处。

本书使用了丰富的图片和渐进的过程,化繁为简,将咱们带入了 Web 开发领域。同时,这本书每一页的排版布局都很精彩,看完本书,咱们在布局设计中也将会有源源不断灵感——这也是在众多“Head First” 系列的编程书籍下,只推荐这本书的缘由所在。

经过推荐本书,咱们还能够感悟到:

  • 排版印刷行业、视觉设计领域与前端开发密不可分。
  • 化繁为简的思想,能够落实到咱们写做上,也更能够吸取进平常的代码设计之中。

其它相关书籍,能够类比:

  1. 《 HTML & CSS设计与构建网站 》
  2. 《 HTML5与CSS3权威指南(第3版) 》

《 CSS 权威指南(第三版)》

中文版出版时间:2008-01

CSS 更多的是门艺术,而非科学,须要咱们在大量实践之中感觉真知。至于更好的实践,咱们能够经过这本权威指南进行一场细致入微的了解。从选择器、层叠/继承、文字/字体到盒模型、表格布局,本书讲述的 CSS 知识并不落伍,是了解 CSS3 以前版本的最佳手册。

经过推荐本书,咱们还能够感悟到:

  • 前端新手要多读 W3C 官方的 CSS 手册,能作到的人并很少。

其它相关书籍,能够类比:

  1. 《 精通 CSS:高级 Web 标准解决方案 》
  2. 《 超越 CSS:Web 设计艺术精髓 》

《 响应式 Web 设计:HTML5 与 CSS3 实战(第二版)》

中文版出版时间:2017-02

各类分辨率终端的普及,对咱们的网页适应性提出了更高的要求。也所以 HTML5 标准的新特性和语义化、CSS3 标准的自带动画、新式布局、响应式图片、媒体查询等概念呼之即出。

经过对这本讲解响应式 Web 设计书籍的边看边敲,咱们用代码实现响应式设计的能力将有很大的提升。这也再次应证了最初的那句话,前端开发走在用户交互体验变革的最前沿,“响应式”功不可没。

经过推荐本书,咱们还能够感悟到:

  • 时代对技术提出了新要求,新技术又促进了时代的飞速发展。
  • 学好 CSS 基础的下一步,就是将本身曾经的页面重构成响应式的。

其它相关书籍,能够类比:

  1. 《 学习响应式设计 》
  2. 《 响应式 Web 》

JavaScript 荐书品书(6+ 本)

《 JavaScript 权威指南(第六版)》

中文版出版时间:2012-04

若是说咱们想打好 JavaScript 基础,没有什么其余书籍能够比的过这本《 JavaScript 权威指南》了:一千页的厚度,一百四的原价,每一节都舍不得错过。

这本权威指南的章节安排分为两大部分:“JavaScript 语言核心”和“客户端 JavaScript”。正如学习编译原理要从词法开始分析,前半部分从 JavaScript 的词法结构开始讲起。紧接着有基本数据类型、对象、数组、函数、类与模块、正则表达式等章节,涵盖了基础语法的绝大部分。

经过推荐本书,咱们还能够感悟到:

“权威指南”是重磅级的存在,只看不敲没有用,只敲不想也无心义,逐章而破,反复重温。

其它相关书籍,能够类比:

  • 《 JavaScript 高级程序设计(第3版) 》

《 JavaScript 语言精粹(修订版)》

中文版出版时间:2012-09

总有一本书爱被前端学习者与一千多页的《 JavaScript 权威指南》合影留念。那就是这本《 JavaScript 语言精粹》。在历史背景里,这本书让业界开始重视 JavaScript 这门曾只在浏览器上处理简单任务的脚本语言,堪比人类世界的《 权利法案 》,随着而来的即是现代民主(SPA 单页应用)的普及

因为 JavaScript 最初是 10 天设计出来的,咱们更应在学习的过程当中时刻“取其精华,去其糟粕”。这本书便成了 ES5 标准及其以前标准的精华手册。同时,书中“铁路图”的引入和 JSHint 的引入向咱们提倡了很好的代码规范建议。遗憾的是,JSHint 因为做者推荐的规范没有定制性,逐步被后来的 ESLint 取代。

经过推荐本书,咱们还能够感悟到:

  • 一门语言的流行总有其优势所在,缺点也不会例外。掌握更多的编程语言,会让咱们对“取其精华,去其糟粕”有更深的理解。
  • 直到如今,ECMAScript3 和 ECMAScript5 标准依然普遍存在,在学习 ECMAScript6 的新特性前,不要忘了重温这些概念。

其它相关书籍,能够类比:

  • 《 你不知道的 JavaScript 》

《 JavaScript 异步编程 》

中文版出版时间:2014-04

IE 浏览器并非一无可取的,它最先地向开发者提供了 XMLHTTPRequest 接口,并随着谷歌 Gmail 对其惊艳的实现,Ajax 快速普及,并开启了先后分离的新时代。这本书便从 JavaScript 的异步编程讲起,帮助咱们设计快速响应的网络应用,而非简单的页面。

仔细看完这本书,若是有人向咱们请教关于“如何理解 JavaScript 的单线程机制”“JavaScript 异步编程的解决方案有哪些”的时候,咱们便能水到渠成的说出个一二三来。只是不要忘了,技术发展到如今,Ajax 也只是先后分离的一种实现方式,咱们还有 Fetch API,咱们还有 Node 网络请求模块。

经过推荐本书,咱们还能够感悟到:

看来,每当谈到大前端开发,咱们的关注点应更多的转在 Web 应用上了。

其它相关书籍,能够类比:

  • 仍是本书,必读之做

《 JavaScript 忍者秘籍 》

中文版出版时间:2015-10

讲述 JavaScript 语言相关技术的图书不少,几乎只有这本,作到了对该语言核心部分(函数、闭包和原型)深刻、全面的介绍,由 jQuery 库做者编写。使用 JavaScript 的高级 Web 应用开发中,咱们还会接触到测试、测试工具、事件处理、错误捕获等初级学者很难遇到的技术。举例来讲,或许现状有许多成型的测试框架,但这本书讲述了更多的 JavaScript 测试现状和测试原理。

经过推荐本书,咱们还能够感悟到:

初学阶段感受没太大用处的技术点,或许只是咱们尚未遇到使用情景,所以不要松懈。

其它相关书籍,能够类比:

  1. 《 高性能 JavaScript 》
  2. 《 JavaScript 启示录 》
  3. 《 编写可维护的 JavaScript 》
  4. 《 JavaScript 函数式编程 》
  5. 《 学习 JavaScript 数据结构与算法(第2版) 》

《 JavaScript 设计模式 》

中文版出版时间:2013-06

有三本讲述 JavaScript 设计模式的书值得推荐。上图分享的是来自百度资深前端工程师的著做。做者经过情景对话,让JavaScript 设计模式的概念变的如此的有趣,又不失核心概念的深刻浅出

目录简洁明了,向咱们提供了设计模式的学习路线图,这里做出引用:

  • 第一篇,面向对象编程;
  • 第二篇,建立型设计模式:其中包括六种具体模式;
  • 第三篇,结构型设计模式:其中包括七种具体模式;
  • 第四篇,行为型设计模式:其中包括十一种具体模式;
  • 第五篇,技巧型设计模式:其中包括八种具体模式;
  • 第六篇,架构型设计模式:其中包括六种具体模式。
经过推荐本书,咱们还能够感悟到:

除了“化繁为简”外,还有“风趣幽默”能够加入到咱们的平常写做与编程之中。

其它相关书籍,能够类比:

  1. 《 JavaScript 设计模式与开发实践 》
  2. 《 JavaScript 设计模式 - 奥斯马尼 》
  3. 《 JavaScript框架设计(第2版) 》

《 深刻理解 ES6 》

中文版出版时间:2017-06

开发者们正在积极地为 Web 浏览器以及 NodeJS 这些 JavaScript 宿主环境添加 ECMAScript6 的新功能,这是咱们步入 JavaScript 应用开发的不可缺失的一环。块级做用域绑定、解构赋值、迭代器与生成器、Promise 与异步编程、代理与反射,曾由于激进而未作发布的 ECMAScript4 里,原来早都想到了这些概念,如今终得落实。本书由《 JavaScript 高级程序设计 》的做者撰写。

经过推荐本书,咱们还能够感悟到:

ECMAScript6+ 更好的支持了前端自动化开发和 JavaScript 应用开发,先从扎实 ECMAScript5 开始学起吧!

其它相关书籍,能够类比:

  • 《 ES6 标准入门(第三版) 》

计算机网络荐书品书(3+ 本)

《 网络是怎样链接的 》

中文版出版时间:2017-01

“在浏览器中输入网址到看到网页内容”过程当中,到底发生了什么?”一问常常会被说起,因而有了这本严谨又不失有趣的书,完完整整的讲解了整个过程咱们所要了解的技术点。

  • 客户端:Web 浏览器、TCP/IP、网卡驱动、集线器、路由器
  • 服务端:防火墙、缓存服务器、网卡驱动、TCP/IP、Web 服务端程序

若是上面的关键字你不能轻松的说出它们的原理和联络的话,就看看这本这本书吧。

经过推荐本书,咱们还能够感悟到:

一个简单的问题,真的能够深挖出一本书来,若是那是由你写出来的话,就更不同了。

其它相关书籍,能够类比:

  • 《 计算机是怎样跑起来的 》

《 计算机网络(第5版) 》

中文版出版时间:2012-03

网络硬件、网络软件;网络协议、网络安全。理论与工程结合,仔细阅读,足见学者的深厚功底。

经过推荐本书,咱们还能够感悟到:

图文生动的书纵然有趣,能通读这类更专业的计算机书籍也是一种实力。

其它相关书籍,能够类比:

  1. 《 计算机网络:自顶向下方法 》
  2. 《 TCP/IP详解 》

《 图解 TCP/IP(第五版) 》

中文版出版时间:2013-07

从理想的 OSI 网络模型到实际的 TCP/IP 模型,每一个层级都有不少协议在进行管理。应用层面向咱们封装好了底层细节,只须要咱们互相经过接口协议来通讯。纵使这样,大前端工程师也应掌握好这几个模型的基础。咱们经常喜欢简洁的、生动的书来介绍苦涩的概念,那么这本以“图解”命名的网络原理书将十分符合你的口味。

经过推荐本书,咱们还能够感悟到:

不少理想的东西落入实际中后常会产生变体,学习的过程当中善于抓住重点,变体的原型便会显露的出来。

其它相关书籍,能够类比:

  1. 《 图解服务器端网络架构 》
  2. 《 图解 HTTP 》

Node.JS 荐书品书(3+ 本)

《 深刻浅出 NodeJS 》

中文版出版时间:2013-12

JavaScript 从诞生之初就能够运行在服务端上,只是没有很好的展示机会。如今,NodeJS 终于将 JavaScript 在服务端上从新绽开开来。JavaScript 是单线程的,所以咱们须要事件机制和异步编程来支持非阻塞模型,这在传统服务端语言里都是不多用到的特性,从而让 NodeJS 如此不同凡响。

这本书由国内做者朴灵所注,第一版了四年,依然是国内最好的讲述 Node 的书籍。每一章选题鲜明,经过对进程线程、网络协议、内存控制、前端路由的详细讲解,让咱们体验了更多的 Linux 和编程之美。

经过推荐本书,咱们还能够感悟到:

只有对 Linux 内核机制、服务端编程的深刻掌握,才能写出这样棒的大前端书籍来,咱们学习的时候千万不要设限本身,前端尤是如此。

其它相关书籍,能够类比:

  1. 《 Node 与 Express 开发 》
  2. 《 精通 Linux 》

《 Node.js 硬实战:115个核心技巧 》

中文版出版时间:2017-01

学习 Node 的时候,咱们总容易沉浸在 npm 仓库带来的各类有趣的第三方模块上,Node 核心基础的知识反而被疏忽。这本书既讲述了大量的核心概念,有又不少的代码示例,仔细阅读,能让咱们从对 Node 的一无所知到深刻浅出,最终编写本身健壮的第三方模块。

经过推荐本书,咱们还能够感悟到:

关于讲述实战的书籍要慎重选择,在阅读过程当中要注意在大量的代码中抓住重点。

其它相关书籍,能够类比:

  • 《 Node.js 微服务 》

《 SPA 设计与架构:理解单页 Web 应用 》

中文版出版时间:2016-11

掌握好 JavaScript 的核心概念、设计模式、语言标准、模块化开发以及 Node.JS 相关知识后,能够看看这本讲解 SPA (单页面 Web 应用)开发的书。传统服务器端的架构能够分为表现层、服务层、业务层和数据层,向客户端返回渲染后的页面。SPA 架构让咱们能够预先下载整个前端框架,渲染、前端路由等功能都能很好的在客户端处理

经过推荐本书,咱们还能够感悟到:

SPA 带来的时代,让先后端数据的交流愈来愈须要注重接口的设计。咱们能够用 RESTful 来设计咱们的接口;前端在开发时,也可使用 Mock 等技术来模拟后端还未上线的接口服务;先后端分工将再次高效起来。

其它相关书籍,能够类比:

  • 《 单页 Web 应用: JavaScript 从前端到后端 》

软件工程荐书品书(1+ 本)

《 黑客与画家:硅谷创业之父Paul Graham文集 》

中文版出版时间:2013-02

大前端开发离不开软件工程领域,软件工程又是整个计算机科学体系的一个篇章。在最后的“软件工程荐书品书”章节,咱们以这本讲述早期硅谷黑客故事的书籍为引,将咱们的目光从新凝聚在整个行业之上。

经过推荐本书,咱们还能够感悟到:

或许当咱们出生之时,这些故事注定成为了咱们的历史。将来是什么,永远没人能肯定。在计算机里,咱们能够依据必定的科学观,无中生有的创造着咱们想象的世界。尤为在 Linux 推进的开源世界下,程序员间跨国际的平等交流史无前例,注定将会被记录在历史之上。

其它相关书籍,能够类比:

  1. 《 一路编程 》
  2. 《 若为自由故 自由软件之父理查德 斯托曼传 》
  3. 《 只是为了好玩:Linux之父林纳斯自传 》
  4. 《 人月神话 》
  5. 《 编程珠玑(第2版) 》
  6. 《 浪潮之巅 》
  7. 《 软件随想录 》
  8. 《 重构——改善既有代码的设计 》
  9. 《 程序员修炼之道:从小工到专家 》
  10. 《 UNIX 编程艺术 》

尝试构建大前端知识体系

很感谢你耐心地看到了这里,本文的书单分享也就到了尾声。细心的你读到这里会发现,每一个配书籍封面截图的书籍都不是凭空分享出来的。就像在“JavaScript 荐书品书”章节中,咱们主要介绍了六本书——《 JavaScript 权威指南 》、《 JavaScript 语言精粹 》、《 JavaScript 异步编程 》、《 JavaScript 忍者秘籍 》、《 JavaScript 设计模式 》和《 深刻理解 ES6 》。这六本书又分别从详细论述、概要凝练、异步开发、重点突破、设计模式和语言标准等角度进行了很好的填充。“其它相关书籍”也告诉咱们这六本并非惟一的选择。编程语言不设限,学习方向不设限,读书更得不设限。这时也就能从新呼应主题,来绘制出咱们专属的书籍成长之路。

可见这些书籍是服务于具体知识点的,这些知识点又该以怎样的形式有条理出如今咱们的面前呢?如下内容均由笔者整理,是为临稿,目的是开拓视野而不是诺列客观事实,不具备任何官方性质,长期维护在个人 Github仓库中,欢迎探讨。

  • HTML -> HTML5, CSS2.1 -> CSS3 -> SASS
  • JavaScript -> ES3 -> ES5 -> ES6+
  • PWA/SPA 前端 + NodeJS 服务端 + Nginx/Apache 服务器
  • 前端数据层:TypeScript/Flow/PropTypes
  • 应用架构层:MVC/MVP/MVVM
  • 应用状态层:Redux/Mobx/RxJS
  • 路由管理层:History API/Hash
  • 包管理:bower/npm/yarn
  • 模块化:CommonJS/RequireJS/AMD/CMD
  • 组件化:JSX/Class
  • 自动化:Grunt/Gulp/Webpack
  • 脚手架工具:Yoman/creatshare-app-init
  • 接口联调:postman/mock/RESTful
  • 持续集成:TravisCI/Webhook
  • 单元测试:Jasmine/Mocha
  • 移动原生应用:Hybrid/React Native
  • 桌面客户端:Electron

相关文章
相关标签/搜索