本文最先为双十一而做,原标题“双 11 大前端工程师读书清单”,以付费的形式发布在 GitChat 上。发布以后在读者圈群聊中和读者进行了深刻的交流,现免费分享到这里,不足之处欢迎指教,也能够在个人 GitChat 读者圈中进行提问,原文以下。前端
发布完本次 Chat 预告后,捕捉到了一个友善的吐槽:“读书清单也要收费?”。的确,只是一个列表的话,你彻底没必要点进来,我也没必要在这里大费周折的推荐给你。但你仍是看到这篇文章了,由于你懂什么是博客,你也能理解知识付费对做者的自发性要求;更或许你认识我,看过个人《如何写一篇优质的博客》而愿意相信本文的质量——不管哪一种,感谢你的到来,开始干货吧。git
本场 Chat 将尝试创建「双 11 期间,大前端领域有趣的买书荐书交流区」,并围绕如下书籍主题进行详细探讨:程序员
- 从软件工程到大前端开发
- HTML、CSS 荐书品书
- JavaScript 荐书品书
- 计算机网络荐书品书
- Node.JS 荐书品书
- 软件工程荐书品书
- 尝试构建大前端知识体系
同时,本场 Chat 的读者圈也将长期维护,一块儿与前端领域的大牛们进行激烈的思惟碰撞,在交流中绘制出咱们专属的书籍成长之路。github
此次咱们依旧从软件工程提及。从软件危机的诞生到如今,行业领头的软件工程师们给咱们描绘了这么一幅专业技能培养方案:正则表达式
对于没有了解过软件开发的学生,学的第一门是《计算机导论与程序设计基础》。导论部分论述了计算机发展史、计算机基本组成和计算机网络等概念,后期的分科都离不开这个大范围;程序设计基础部分经过快速了解 Python 语法,完成能写出最简洁的输入输出、分支/循环结构的阶段性目标。算法
接下来详细学习的是面向过程的表明,C 语言。经过重温 Python 中遇到的输入输出流、分支循环结构,再引入程序编译连接原理、指针/连接等在 C 语言中独特的数据类型和数据结构,让咱们打下坚实的编程基础 [1]。数据库
[1]:在这个阶段,咱们或多或少会经历的挫折有:npm
- 安装各类集成开发环境;
- 安装 Linux 虚拟机/双系统;
- 调试各类 C 语言 Bug,常常怀疑是程序错了而不是你错了;
只要耐心一点,以上的经历对咱们编程习性的养成都颇有帮助。编程
第一年很快的过去后,大二和大三阶段的课程各个掷地有声——数据结构、算法设计、数据库原理、操做系统、计算机网络,内容量的安排上足以让咱们有能力去企业进行实习。后端
但是,这和大前端开发有什么关系?
在整个软件工程的专业培养方案里,并无任何局限于 Web 开发领域的踪影,更没有局限于前端开发。何况,前端开发被业界重视的时间并非很长 [2]。所以隶属于软件开发一个分支的前端开发,急需大量对计算机体系有充足了解的人才的加入。为了避免被“学前端人不少”现象形成的泡沫冲击,咱们就得拿起计算机科学素养来抵抗。
[2]:使用 XMLHTTPRequest 技术的 Ajax 划分出了一个先后端分离的时代,今后业务逻辑的处理逐步向客户端转移,服务端更多的提供数据接口。
中文版出版时间:2013-09
前端开发走在用户交互体验变革的最前沿,咱们所见的一切实体均可以被素描,被构建。锻炼咱们视觉的敏锐性、发现瑕疵并提出本身的设计方案,成为了视觉工程师的独特魅力。前端工程师与视觉工程师有很大的交集之处。
本书使用了丰富的图片和渐进的过程,化繁为简,将咱们带入了 Web 开发领域。同时,这本书每一页的排版布局都很精彩,看完本书,咱们在布局设计中也将会有源源不断灵感——这也是在众多“Head First” 系列的编程书籍下,只推荐这本书的缘由所在。
经过推荐本书,咱们还能够感悟到:
- 排版印刷行业、视觉设计领域与前端开发密不可分。
- 化繁为简的思想,能够落实到咱们写做上,也更能够吸取进平常的代码设计之中。
其它相关书籍,能够类比:
中文版出版时间:2008-01
CSS 更多的是门艺术,而非科学,须要咱们在大量实践之中感觉真知。至于更好的实践,咱们能够经过这本权威指南进行一场细致入微的了解。从选择器、层叠/继承、文字/字体到盒模型、表格布局,本书讲述的 CSS 知识并不落伍,是了解 CSS3 以前版本的最佳手册。
经过推荐本书,咱们还能够感悟到:
- 前端新手要多读 W3C 官方的 CSS 手册,能作到的人并很少。
其它相关书籍,能够类比:
中文版出版时间:2017-02
各类分辨率终端的普及,对咱们的网页适应性提出了更高的要求。也所以 HTML5 标准的新特性和语义化、CSS3 标准的自带动画、新式布局、响应式图片、媒体查询等概念呼之即出。
经过对这本讲解响应式 Web 设计书籍的边看边敲,咱们用代码实现响应式设计的能力将有很大的提升。这也再次应证了最初的那句话,前端开发走在用户交互体验变革的最前沿,“响应式”功不可没。
经过推荐本书,咱们还能够感悟到:
- 时代对技术提出了新要求,新技术又促进了时代的飞速发展。
- 学好 CSS 基础的下一步,就是将本身曾经的页面重构成响应式的。
其它相关书籍,能够类比:
中文版出版时间:2012-04
若是说咱们想打好 JavaScript 基础,没有什么其余书籍能够比的过这本《 JavaScript 权威指南》了:一千页的厚度,一百四的原价,每一节都舍不得错过。
这本权威指南的章节安排分为两大部分:“JavaScript 语言核心”和“客户端 JavaScript”。正如学习编译原理要从词法开始分析,前半部分从 JavaScript 的词法结构开始讲起。紧接着有基本数据类型、对象、数组、函数、类与模块、正则表达式等章节,涵盖了基础语法的绝大部分。
经过推荐本书,咱们还能够感悟到:“权威指南”是重磅级的存在,只看不敲没有用,只敲不想也无心义,逐章而破,反复重温。
其它相关书籍,能够类比:
中文版出版时间:2012-09
总有一本书爱被前端学习者与一千多页的《 JavaScript 权威指南》合影留念。那就是这本《 JavaScript 语言精粹》。在历史背景里,这本书让业界开始重视 JavaScript 这门曾只在浏览器上处理简单任务的脚本语言,堪比人类世界的《 权利法案 》,随着而来的即是现代民主(SPA 单页应用)的普及。
因为 JavaScript 最初是 10 天设计出来的,咱们更应在学习的过程当中时刻“取其精华,去其糟粕”。这本书便成了 ES5 标准及其以前标准的精华手册。同时,书中“铁路图”的引入和 JSHint 的引入向咱们提倡了很好的代码规范建议。遗憾的是,JSHint 因为做者推荐的规范没有定制性,逐步被后来的 ESLint 取代。
经过推荐本书,咱们还能够感悟到:
- 一门语言的流行总有其优势所在,缺点也不会例外。掌握更多的编程语言,会让咱们对“取其精华,去其糟粕”有更深的理解。
- 直到如今,ECMAScript3 和 ECMAScript5 标准依然普遍存在,在学习 ECMAScript6 的新特性前,不要忘了重温这些概念。
其它相关书籍,能够类比:
中文版出版时间:2014-04
IE 浏览器并非一无可取的,它最先地向开发者提供了 XMLHTTPRequest 接口,并随着谷歌 Gmail 对其惊艳的实现,Ajax 快速普及,并开启了先后分离的新时代。这本书便从 JavaScript 的异步编程讲起,帮助咱们设计快速响应的网络应用,而非简单的页面。
仔细看完这本书,若是有人向咱们请教关于“如何理解 JavaScript 的单线程机制”、“JavaScript 异步编程的解决方案有哪些”的时候,咱们便能水到渠成的说出个一二三来。只是不要忘了,技术发展到如今,Ajax 也只是先后分离的一种实现方式,咱们还有 Fetch API,咱们还有 Node 网络请求模块。
经过推荐本书,咱们还能够感悟到:看来,每当谈到大前端开发,咱们的关注点应更多的转在 Web 应用上了。
其它相关书籍,能够类比:
中文版出版时间:2015-10
讲述 JavaScript 语言相关技术的图书不少,几乎只有这本,作到了对该语言核心部分(函数、闭包和原型)深刻、全面的介绍,由 jQuery 库做者编写。使用 JavaScript 的高级 Web 应用开发中,咱们还会接触到测试、测试工具、事件处理、错误捕获等初级学者很难遇到的技术。举例来讲,或许现状有许多成型的测试框架,但这本书讲述了更多的 JavaScript 测试现状和测试原理。
经过推荐本书,咱们还能够感悟到:初学阶段感受没太大用处的技术点,或许只是咱们尚未遇到使用情景,所以不要松懈。
其它相关书籍,能够类比:
中文版出版时间:2013-06
有三本讲述 JavaScript 设计模式的书值得推荐。上图分享的是来自百度资深前端工程师的著做。做者经过情景对话,让JavaScript 设计模式的概念变的如此的有趣,又不失核心概念的深刻浅出。
目录简洁明了,向咱们提供了设计模式的学习路线图,这里做出引用:
经过推荐本书,咱们还能够感悟到:除了“化繁为简”外,还有“风趣幽默”能够加入到咱们的平常写做与编程之中。
其它相关书籍,能够类比:
中文版出版时间:2017-06
开发者们正在积极地为 Web 浏览器以及 NodeJS 这些 JavaScript 宿主环境添加 ECMAScript6 的新功能,这是咱们步入 JavaScript 应用开发的不可缺失的一环。块级做用域绑定、解构赋值、迭代器与生成器、Promise 与异步编程、代理与反射,曾由于激进而未作发布的 ECMAScript4 里,原来早都想到了这些概念,如今终得落实。本书由《 JavaScript 高级程序设计 》的做者撰写。
经过推荐本书,咱们还能够感悟到:ECMAScript6+ 更好的支持了前端自动化开发和 JavaScript 应用开发,先从扎实 ECMAScript5 开始学起吧!
其它相关书籍,能够类比:
中文版出版时间:2017-01
“在浏览器中输入网址到看到网页内容”过程当中,到底发生了什么?”一问常常会被说起,因而有了这本严谨又不失有趣的书,完完整整的讲解了整个过程咱们所要了解的技术点。
若是上面的关键字你不能轻松的说出它们的原理和联络的话,就看看这本这本书吧。
经过推荐本书,咱们还能够感悟到:一个简单的问题,真的能够深挖出一本书来,若是那是由你写出来的话,就更不同了。
其它相关书籍,能够类比:
中文版出版时间:2012-03
网络硬件、网络软件;网络协议、网络安全。理论与工程结合,仔细阅读,足见学者的深厚功底。
经过推荐本书,咱们还能够感悟到:图文生动的书纵然有趣,能通读这类更专业的计算机书籍也是一种实力。
其它相关书籍,能够类比:
中文版出版时间:2013-07
从理想的 OSI 网络模型到实际的 TCP/IP 模型,每一个层级都有不少协议在进行管理。应用层面向咱们封装好了底层细节,只须要咱们互相经过接口协议来通讯。纵使这样,大前端工程师也应掌握好这几个模型的基础。咱们经常喜欢简洁的、生动的书来介绍苦涩的概念,那么这本以“图解”命名的网络原理书将十分符合你的口味。
经过推荐本书,咱们还能够感悟到:不少理想的东西落入实际中后常会产生变体,学习的过程当中善于抓住重点,变体的原型便会显露的出来。
其它相关书籍,能够类比:
中文版出版时间:2013-12
JavaScript 从诞生之初就能够运行在服务端上,只是没有很好的展示机会。如今,NodeJS 终于将 JavaScript 在服务端上从新绽开开来。JavaScript 是单线程的,所以咱们须要事件机制和异步编程来支持非阻塞模型,这在传统服务端语言里都是不多用到的特性,从而让 NodeJS 如此不同凡响。
这本书由国内做者朴灵所注,第一版了四年,依然是国内最好的讲述 Node 的书籍。每一章选题鲜明,经过对进程线程、网络协议、内存控制、前端路由的详细讲解,让咱们体验了更多的 Linux 和编程之美。
经过推荐本书,咱们还能够感悟到:只有对 Linux 内核机制、服务端编程的深刻掌握,才能写出这样棒的大前端书籍来,咱们学习的时候千万不要设限本身,前端尤是如此。
其它相关书籍,能够类比:
中文版出版时间:2017-01
学习 Node 的时候,咱们总容易沉浸在 npm 仓库带来的各类有趣的第三方模块上,Node 核心基础的知识反而被疏忽。这本书既讲述了大量的核心概念,有又不少的代码示例,仔细阅读,能让咱们从对 Node 的一无所知到深刻浅出,最终编写本身健壮的第三方模块。
经过推荐本书,咱们还能够感悟到:关于讲述实战的书籍要慎重选择,在阅读过程当中要注意在大量的代码中抓住重点。
其它相关书籍,能够类比:
中文版出版时间:2016-11
掌握好 JavaScript 的核心概念、设计模式、语言标准、模块化开发以及 Node.JS 相关知识后,能够看看这本讲解 SPA (单页面 Web 应用)开发的书。传统服务器端的架构能够分为表现层、服务层、业务层和数据层,向客户端返回渲染后的页面。SPA 架构让咱们能够预先下载整个前端框架,渲染、前端路由等功能都能很好的在客户端处理。
经过推荐本书,咱们还能够感悟到:SPA 带来的时代,让先后端数据的交流愈来愈须要注重接口的设计。咱们能够用 RESTful 来设计咱们的接口;前端在开发时,也可使用 Mock 等技术来模拟后端还未上线的接口服务;先后端分工将再次高效起来。
其它相关书籍,能够类比:
中文版出版时间:2013-02
大前端开发离不开软件工程领域,软件工程又是整个计算机科学体系的一个篇章。在最后的“软件工程荐书品书”章节,咱们以这本讲述早期硅谷黑客故事的书籍为引,将咱们的目光从新凝聚在整个行业之上。
经过推荐本书,咱们还能够感悟到:或许当咱们出生之时,这些故事注定成为了咱们的历史。将来是什么,永远没人能肯定。在计算机里,咱们能够依据必定的科学观,无中生有的创造着咱们想象的世界。尤为在 Linux 推进的开源世界下,程序员间跨国际的平等交流史无前例,注定将会被记录在历史之上。
其它相关书籍,能够类比:
很感谢你耐心地看到了这里,本文的书单分享也就到了尾声。细心的你读到这里会发现,每一个配书籍封面截图的书籍都不是凭空分享出来的。就像在“JavaScript 荐书品书”章节中,咱们主要介绍了六本书——《 JavaScript 权威指南 》、《 JavaScript 语言精粹 》、《 JavaScript 异步编程 》、《 JavaScript 忍者秘籍 》、《 JavaScript 设计模式 》和《 深刻理解 ES6 》。这六本书又分别从详细论述、概要凝练、异步开发、重点突破、设计模式和语言标准等角度进行了很好的填充。“其它相关书籍”也告诉咱们这六本并非惟一的选择。编程语言不设限,学习方向不设限,读书更得不设限。这时也就能从新呼应主题,来绘制出咱们专属的书籍成长之路。
可见这些书籍是服务于具体知识点的,这些知识点又该以怎样的形式有条理出如今咱们的面前呢?如下内容均由笔者整理,是为临稿,目的是开拓视野而不是诺列客观事实,不具备任何官方性质,长期维护在个人 Github仓库中,欢迎探讨。
- Hello,我是韩亦乐,现任本科软工男一枚。软件工程专业的一路学习中,我有不少感悟,也享受持续分享的过程。若是想了解更多或能及时收到个人最新文章,欢迎订阅个人我的微信号:韩亦乐。个人简书我的主页中,有个人订阅号二维码和 Github 主页地址;个人知乎主页 中也会坚持产出,欢迎关注。
- 本文内部编号经由个人 Github 相关仓库统一管理;本文可能发布在多个平台但仅在上述仓库中长期维护;本文同时采用【知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议】进行许可。