资讯专栏INFORMATION COLUMN

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

Anleb / 2106人阅读

摘要:本文最早为双十一而作,原标题双大前端工程师读书清单,以付费的形式发布在上。发布完本次预告后,捕捉到了一个友善的吐槽读书清单也要收费。这本书便从的异步编程讲起,帮助我们设计快速响应的网络应用,而非简单的页面。

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


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

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

从软件工程到大前端开发

HTML、CSS 荐书品书

JavaScript 荐书品书

计算机网络荐书品书

Node.JS 荐书品书

软件工程荐书品书

尝试构建大前端知识体系

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

从软件工程到大前端开发

这次我们依旧从软件工程说起。从软件危机的诞生到现在,行业领头的软件工程师们给我们描绘了这么一幅专业技能培养方案:

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

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

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

安装各种集成开发环境;

安装 Linux 虚拟机/双系统;

调试各种 C 语言 Bug,经常怀疑是程序错了而不是你错了;

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

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

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

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

[2]:使用 XMLHTTPRequest 技术的 Ajax 划分出了一个前后端分离的时代,从此业务逻辑的处理逐步向客户端转移,服务端更多的提供数据接口。
HTML、CSS 荐书品书(3+ 本) 《 Head First HTML 与 CSS(第二版) 》

中文版出版时间:2013-09

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

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

通过推荐本书,我们还可以感悟到:

排版印刷行业、视觉设计领域与前端开发密不可分。

化繁为简的思想,可以落实到我们写作上,也更可以吸收进日常的代码设计之中。

其它相关书籍,可以类比:

《 HTML & CSS设计与构建网站 》

《 HTML5与CSS3权威指南(第3版) 》

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

中文版出版时间:2008-01

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

通过推荐本书,我们还可以感悟到:

前端新手要多读 W3C 官方的 CSS 手册,能做到的人并不多。

其它相关书籍,可以类比:

《 精通 CSS:高级 Web 标准解决方案 》

《 超越 CSS:Web 设计艺术精髓 》

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

中文版出版时间:2017-02

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

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

通过推荐本书,我们还可以感悟到:

时代对技术提出了新要求,新技术又促进了时代的飞速发展。

学好 CSS 基础的下一步,就是将自己曾经的页面重构成响应式的。

其它相关书籍,可以类比:

《 学习响应式设计 》

《 响应式 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 测试现状和测试原理。

通过推荐本书,我们还可以感悟到:

初学阶段感觉没太大用处的技术点,或许只是我们还没有遇到使用情景,因此不要松懈。

其它相关书籍,可以类比:

《 高性能 JavaScript 》

《 JavaScript 启示录 》

《 编写可维护的 JavaScript 》

《 JavaScript 函数式编程 》

《 学习 JavaScript 数据结构与算法(第2版) 》

《 JavaScript 设计模式 》

中文版出版时间:2013-06

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

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

第一篇,面向对象编程;

第二篇,创建型设计模式:其中包括六种具体模式;

第三篇,结构型设计模式:其中包括七种具体模式;

第四篇,行为型设计模式:其中包括十一种具体模式;

第五篇,技巧型设计模式:其中包括八种具体模式;

第六篇,架构型设计模式:其中包括六种具体模式。

通过推荐本书,我们还可以感悟到:

除了“化繁为简”外,还有“风趣幽默”可以加入到我们的日常写作与编程之中。

其它相关书籍,可以类比:

《 JavaScript 设计模式与开发实践 》

《 JavaScript 设计模式 - 奥斯马尼 》

《 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

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

通过推荐本书,我们还可以感悟到:

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

其它相关书籍,可以类比:

《 计算机网络:自顶向下方法 》

《 TCP/IP详解 》

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

中文版出版时间:2013-07

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

通过推荐本书,我们还可以感悟到:

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

其它相关书籍,可以类比:

《 图解服务器端网络架构 》

《 图解 HTTP 》

Node.JS 荐书品书(3+ 本) 《 深入浅出 NodeJS 》

中文版出版时间:2013-12

JavaScript 从诞生之初就可以运行在服务端上,只是没有很好的展现机会。现在,NodeJS 终于将 JavaScript 在服务端上重新绽放开来。JavaScript 是单线程的,因此我们需要事件机制和异步编程来支持非阻塞模型,这在传统服务端语言里都是很少用到的特性,从而让 NodeJS 如此与众不同。

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

通过推荐本书,我们还可以感悟到:

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

其它相关书籍,可以类比:

《 Node 与 Express 开发 》

《 精通 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 推动的开源世界下,程序员间跨国际的平等交流前所未有,注定将会被记录在历史之上。

其它相关书籍,可以类比:

《 一路编程 》

《 若为自由故 自由软件之父理查德 斯托曼传 》

《 只是为了好玩:Linux之父林纳斯自传 》

《 人月神话 》

《 编程珠玑(第2版) 》

《 浪潮之巅 》

《 软件随想录 》

《 重构——改善既有代码的设计 》

《 程序员修炼之道:从小工到专家 》

《 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


Hello,我是韩亦乐,现任本科软工男一枚。软件工程专业的一路学习中,我有很多感悟,也享受持续分享的过程。如果想了解更多或能及时收到我的最新文章,欢迎订阅我的个人微信号:韩亦乐。我的简书个人主页中,有我的订阅号二维码和 Github 主页地址;我的知乎主页 中也会坚持产出,欢迎关注。

本文内部编号经由我的 Github 相关仓库统一管理;本文可能发布在多个平台但仅在上述仓库中长期维护;本文同时采用【知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议】进行许可。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/56966.html

相关文章

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

    摘要:本文最早为双十一而作,原标题双大前端工程师读书清单,以付费的形式发布在上。发布完本次预告后,捕捉到了一个友善的吐槽读书清单也要收费。这本书便从的异步编程讲起,帮助我们设计快速响应的网络应用,而非简单的页面。 本文最早为双十一而作,原标题双 11 大前端工程师读书清单,以付费的形式发布在 GitChat 上。发布之后在读者圈群聊中和读者进行了深入的交流,现免费分享到这里,不足之处欢迎指教...

    happen 评论0 收藏0
  • 双十二大前端程师读书清单

    摘要:本文最早为双十一而作,原标题双大前端工程师读书清单,以付费的形式发布在上。发布完本次预告后,捕捉到了一个友善的吐槽读书清单也要收费。这本书便从的异步编程讲起,帮助我们设计快速响应的网络应用,而非简单的页面。 本文最早为双十一而作,原标题双 11 大前端工程师读书清单,以付费的形式发布在 GitChat 上。发布之后在读者圈群聊中和读者进行了深入的交流,现免费分享到这里,不足之处欢迎指教...

    余学文 评论0 收藏0
  • 双十二大前端程师读书清单

    摘要:本文最早为双十一而作,原标题双大前端工程师读书清单,以付费的形式发布在上。发布完本次预告后,捕捉到了一个友善的吐槽读书清单也要收费。这本书便从的异步编程讲起,帮助我们设计快速响应的网络应用,而非简单的页面。 本文最早为双十一而作,原标题双 11 大前端工程师读书清单,以付费的形式发布在 GitChat 上。发布之后在读者圈群聊中和读者进行了深入的交流,现免费分享到这里,不足之处欢迎指教...

    Jochen 评论0 收藏0
  • 前端每周清单第 38 期: Node 9 发布,Kotlin 与 React,Netflix 架构解

    摘要:发布本周正式发布,包含了一系列的特性提升与问题修复,同时也在不断致力于将打造地更为轻巧与高性能。当然,姜振勇老师还会介绍的多种服务,包括大数据网络和安全,展现弹性安全和高可扩展性的全方位能力。 showImg(http://upload-images.jianshu.io/upload_images/1647496-2ce7598e6987d9af.jpg?imageMogr2/aut...

    Carbs 评论0 收藏0
  • 正则表达式

    摘要:最全正则表达式总结验证号手机号中文邮编身份证地址等是正则表达式的缩写,作用是对字符串执行模式匹配。学习目标了解正则表达式语法在中使用正则表达式在中使 JS高级技巧 本篇是看的《JS高级程序设计》第23章《高级技巧》做的读书分享。本篇按照书里的思路根据自己的理解和经验,进行扩展延伸,同时指出书里的一些问题。将会讨论安全的类型检测、惰性载入函数、冻结对象、定时器等话题。1. 安全的类型检测...

    yibinnn 评论0 收藏0

发表评论

0条评论

Anleb

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<