当你准备学习前端的时候,首先会想先搜搜有什么学习资料可以利用。琳琅满目的视频课程让你挑花了眼,于是你开始烦躁不已,想找一本书安静地学习。一本好书总是会让你在学习的过程中有很多 Aha!Moment,还会把生活中寂寞无聊的时光换成巨大的技术成就。如果你遇到这样一本书,可以说你真的很幸运!
要说书这种东西,很难说有绝对的优劣。毕竟,读者有所收获,已经是好书的最佳证明。然而,千人千面,大家学识层次和阅读心境都不一样,恐怕对一本书的评价也有较大的差异。倘若在这种情况下,还有那么一些书获得了压倒性好评(比如豆瓣超高评分),这样的书弥足珍贵,更值得我们阅读与分享。
分享几本前端好书,你或许总能在各大排行榜上看到它们的身影,但是却不曾静下心来试着了解过它们。然而它们正是值得一读的优质好书,触及前端各个方面。让我们站在巨人的肩膀上,看更远的风景。
1《JavaScript高级程序设计(第3版)》
本书是前端人员入门必备红宝书,全书从 JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax 与 Comet 服务器端通信,HTML5 表单、媒体、Canvas(包括WebGL)及 Web Workers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新 API,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。本书附录展望了未来的 API 和 ECMAScript Harmony 规范。
2《深入浅出Vue.js》
360 奇舞团团长月影和《JavaScript高级程序设计》译者李松峰作序推荐,作者首先简要介绍了 Vue.js;然后详细讲解了其内部核心技术“变化侦测”,这里会带领大家从 0 到 1 实现一个简单的“变化侦测”系统;接着详细介绍虚拟 DOM 技术,其中包括虚拟 DOM 的原理及其 patching 算法;紧接着详细讨论了模板编译技术,其中包括模板解析器的实现原理、优化器的原理以及代码生成器的原理;最后详细介绍了其整体架构以及提供给我们使用的各种 API 的内部原理,同时还介绍了生命周期、错误处理、指令系统与模板过滤器等功能的原理。
3《JavaScript Dom编程艺术(第2版)》
本书讲述了 JavaScript、DOM 和 HTML5 的基础知识,着重介绍 DOM 编程技术背后的思路和原则:平稳退化、渐进增强和以用户为中心等。这些概念对于任何前端 Web 开发工作都非常重要。本书将这些概念贯穿在书中的所有代码示例中,以便呈现用来创建图片库页面的脚本、用来创建动画效果的脚本和用来丰富页面元素呈现效果的脚本,最后结合所讲述的内容创建了一个实际的网站。
4《你不知道的JavaScript(上卷)》
很多人对 JavaScript 这门语言的印象都是简单易学,很容易上手。JavaScript 语言本身有很多复杂的概念,语言的使用者不必深入理解这些概念也可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的 JavaScript 开发人员,如果没有认真学习的话也无法真正理解它们。本册介绍两个主题:“作用域和闭包”以及“ this和对象原型”,深入挖掘 JavaScript 语言本质,打通 JavaScript 的任督二脉。
5《Web性能权威指南》
Google 高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。本书涵盖 Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP 和 TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了 HTTP 协议的底层细节,同时详细介绍了 HTTP 2.0、 XHR、SSE、WebSocket、WebRTC 和 DataChannel 等现代浏览器新增的具有革命性的新能力。
6《JavaScript设计模式与开发实践》
本书在尊重《设计模式》原意的同时,针对 JavaScript 语言特性全面介绍了更适合 JavaScript 程序员的了 16 个常用的设计模式,讲解了 JavaScript 面向对象和函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到 JavaScript 语言中,编写出优美高效、结构化和可维护的代码。
7《Head First JavaScript程序设计》
史上最轻松 JavaScript 入门书,全彩印刷,本书从 JavaScript 的基础知识逐渐深入到高阶话题,包括对象、函数、浏览器的文档对象模型、类型、数组、原型、闭包等。读者会在阅读的过程中玩游戏、解谜题,并且以你想象不到的方式与 JavaScript 交互。此外,读者还会写大量的代码,以便构建自己的 Web 应用。
8《深入浅出Node.js》
本书从不同的视角介绍了 Node 内在的特点和结构。书中并非完全按照顺序递进式介绍,首先简要介绍了 Node,接着深入探讨了模块机制、异步 I/O 和异步编程,然后讨论了内存控制和 Buffer 相关的内容,接着探讨了网络编程、Node Web 开发、进程、测试和产品化等内容,最后的附录介绍了 Node 的安装、调试、编码规范和 NPM 仓库搭建等内容。
9《HTML5权威指南》
本书是系统学习网页设计的权威参考图书。内容分为五部分:第一部分介绍学习本书的预备知识和 HTML、CSS 和 JavaScript 的最新进展;第二部分讨论 HTML 元素,并详细说明了 HTML5 中新增和修改的元素;第三部分阐述 CSS,涵盖了所有控制内容样式的 CSS 选择器和属性,并辅以大量代码示例和图示;第四部分介绍 DOM,剖析如何用 JavaScript 操纵 HTML 内容;第五部分讲解 Ajax、多媒体和 canvas 元素等 HTML5 高级特性。
10《学习JavaScript数据结构与算法(第3版)》
本书首先介绍了 JavaScript 语言的基础知识(包括 ECMAScript 和 TypeScript),其次讨论了数组、栈、队列、双端队列和链表等重要的数据结构,随后分析了集合、字典和散列表的工作原理,接下来阐述了递归的原理、什么是树以及二叉堆和堆排序,然后介绍了图、DFS 和 BFS 算法、各种排序(冒泡排序、选择排序、插入排序、归并排序、快速排序、计数排序、桶排序和基数排序)和搜索(顺序搜索、二分搜索和内插搜索)算法以及随机算法,接着介绍了分而治之、动态规划、贪心算法和回溯算法等高级算法以及函数式编程,最后还介绍了如何计算算法的复杂度。
11《CSS揭秘》
由 W3C CSS 工作组特邀专家,设计 CSS 语言的委员之一 Lea Verou 执笔,作者为我们揭示了 47 个鲜为人知的 CSS 技巧,主要内容包括背景与边框、形状、 视觉效果、字体排印、用户体验、结构与布局、过渡与动画等。本书将带领读者循序渐进地探寻更优雅的解决方案,攻克每天都会遇到的各种网页样式难题。
12
《你不知道的JavaScript(中卷)》
很多人对 JavaScript 这门语言的印象都是简单易学,很容易上手。JavaScript 语言本身有很多复杂的概念,语言的使用者不必深入理解这些概念也可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的 JavaScript 开发人员,如果没有认真学习的话也无法真正理解它们。这本书直面当前 JavaScript 开发者不求甚解的大趋势,深入理解语言内部的机制。本册是其中卷,主要介绍了类型、语法、异步和性能。
13《深入理解JavaScript特性》
本书从实际开发角度介绍 ES6 及后续更新版本特性,以循序渐进、通俗易懂的方式讲解各种复杂的技术,比如异步控制流、声明对象及函数的使用等,并从实践角度提供了许多建议,既能帮助广大前端开发者建立一个完整的知识体系,也能助其在工作中如虎添翼,开发出更好的 Web 应用。以上这些前端好书你又读过几本呢,不管你是电子书爱好者,还是纸质书爱好者,好书总是能让人沉淀心灵,远离浮躁,让我们给自己一些时间,沉醉在这些只有你跟技术的世界里吧!