前端读书路线图:从入门到编写框架

某天,我在阅读《JavaScript 框架设计:第 2 版》的时候,发现我在 2015 年画的读书路线系列中的前端篇,被收录到其中。

前端读书路线

大抵是因为这张图被认可了,便想着写篇文章,介绍一下读书路线中相关的书。

开始之前呢,让我们了解读书路线的三条基本路线。Web 前端,有三个基础元素: JavaScript、CSS、HTML。对应于学习开发则是:

  • JavaScript 及其方言
  • CSS 及其预处理器
  • HTML 及 DOM 处理

正是这些基本的内容,构建出了一个个前端应用。

提升 ES/JavaScript

在今天(2018 年),我最喜欢的 JavaScript 方言是 TypeScript,它的类型系统帮助团队降低了 BUG 率,构建出了更健壮的前端应用。对于那些由后端而来的开发人员来说,它与 JavaScript 相比更容易上手。

《JavaScript 高级程序设计》

本书又称为红皮书,基本上算是一本必推荐的入门前端书目。它详细介绍了 JavaScript 语言的各个组成部分:语言核心、DOM、BOM、事件模型,还深入浅出地探讨了面向对象编程、Ajax 与Comet 服务器端通信等内容。

如果你是个学生,想入门 JavaScript,那么你相当的适合你。它那恰到好处的惊人高度,可以在你不阅读的时候,帮你治疗你的颈椎病——垫显示器。

唯一值得额外考虑的是,这本书的知识在今天看来有些旧。

可选工具书:《JavaScript 权威指南》

和上一本书类似,这本书更像是一本字典,很厚的字典。字典的好处,不仅仅在于方便查阅,还在于提供了一份索引。如我的那篇《程序员的内置索引与外置的Google》,对于新手用户使用搜索来说,最难的就是找到合适的关键词

不过这是一本 JavaScript 的字典,它详细地介绍了 JavaScript 语言,以及浏览器定义的 JavaScript API 等。

同样的,和一本书类似,它可以治疗你的颈椎病,本书的知识在今天看来有些旧。

《JavaScript 语言精粹》

书很薄,内容对于读者来说有一定的要求,它对于提升、理解 JavaScript 中的一些坑相当有帮助。书本身是介绍 JavaScript 语言好的一部分,而其厚度又决定了,需要对 JavaScript 有一定的了解。

阅读之后,会对 JavaScript 有更深的体验。

遗憾的是,这本书写的也是 ES5 部分的,没有最新的 ES6 版本。

《深入理解 ES6》

由于路线图写的时间比较早,还没有 ES6 部分,所以,在这里补充一下。

本书的作者也是之前那本《JavaScript高级程序设计》的作者,我们大可以将之视为其的续集。

不过今天 ES2017 的情况下,这本书也是缺少一些相应的资料的。

《编写可维护的 JavaScript》

这本书放在另外的分支上是有道理的——它不是 Must to have, 是 Nice to have。

它更像是一本在工作中提升自己的书籍,书中涵盖了编码风格、编程技巧、自动化、测试等几方面。以让开发人员编写出具备高可维护性的 JavaScript 代码,从这一点上来看,它也更像是一本索引性书籍。对,和我的《全栈应用开发》类似。

CSS 基础

CSS 作为 Web 应用的样式基石,它展示了 Web 应用的丰富样式。而关于 CSS 的书,可谓少之又少。

可选工具书:《CSS 权威指南》

作为一本 Definitive Guide(权威指南),它详详细细地介绍了 CSS 的方方面面。本书据说是,CSS 界权威 Meyer 大师三部曲中的一部理论书。同样的,权威指南本身也是字典一样的大块头,要啃起来并不容易。

国内目前的书是 2007 年出版的第 3 版,国外现在已经到了第 4 版(2017 年)。第 4 版中,介绍了大量的 CSS 3 相关的内容,以及Flexible box layout、2D、3D 动画等新特性。作为发展中国家的程序员,我们只能等下一个版本了。

《CSS 世界》

考虑到上一本书,可能有些过时,所以推荐一下这本书。

如果你需要一本兼容 IE 的书,还有一本兼容字典,这本书就是适合你的。

然而,可是,大概,怎么说,这本书我还没看过。作者写的文章倒是详细地对 CSS 进行各种介绍,从各个平台(豆瓣、亚马逊)的评论来看,这本书介绍得太详细(啰嗦)了。

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

当时,这本书对我启发比较大的是:布局。遗憾的是,作为仅有的几本 CSS 书,它的翻译有待提高。

DOM 篇

DOM,即文档对象模型(Document Object Model,简称DOM)。尽管已经有 Virtual DOM 这样了不起的技术,但是 DOM 还是要作为基础的一部分来学习。

可选工具书:《DOM 启蒙》

这是一本详细的 DOM 操作指南。如果你想学习原生的 DOM 及 DOM API 相关的知识,那倒是不错的。

这本书成为可选的原因是,因为下面一本书的存在。但是呢,《JavaScript DOM 编程艺术》一书又有些落伍了。

《JavaScript DOM 编程艺术》

本书在操作性上来说更强。在介绍 DOM 相关知识的同时,又展示了如何结合项目来操作 DOM。

对于初学者来说,这本书是相当合适的。

Web 框架

好了,我们掌握了上面的知识,就期望下一步成长。这个时候,我们就可以尝试去构建自己的 Web 框架。它不仅可以帮助我们掌握 Web 框架背后的知识,还可以提升相关的能力。

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

本书展示了从前端到后端都使用 JavaScript 来开发复杂的单页Web应用,能让你的团队能够很容易地进行设计、测试、维护和扩展,不会受到某个框架的限制。

这是一本即介绍实践,又介绍原理相关的书籍。作为一本专门讲述 SPA 的书籍,还是值得推荐一下的。

《JavaScript 框架设计》

是的,在有了上面的基础之后,就可以进行框架设计。这是一本全面讲解 JavaScript 框架设计的图书

作者是一个开源前端框架 Anu 和 avalon 的作者,能同时做到写出一个出名的前端框架,又写书教怎么写框架的人屈指可数,这大抵是开源精神的体现。如我轮子造了很多,没有几个出名的,文章写了很多,没有几篇出名的。不过按我看来,算我把所学的书上了,你也是学不会的——要练习。

这本书出了第 2 版,与时俱进,加入了一些虚拟 DOM、diff 算法等内容。

《基于 MVC 的 JavaScript Web 富应用开发》

这本书在今天年来,已经有些过时了。核心点:利用前端实现 MVC。

而作为最后推荐的书,它拥有相当的难度,学会它的思想去做一个 MVC 框架吧。

结论

由于这是我过去的学习中总结的读书路线,在应对时间代码的时候,可能稍显不足。

也欢迎在我的 GitHub 上 booktree 提出意见~~

在留言区留下你觉得不错的书吧~。

点击阅读原文查看 booktree 完整版

原文发布于微信公众号 - phodal(phodal-weixin)

原文发表时间:2018-07-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯NEXT学位

NEXT讲坛丨《TypeScript入门》公开课

1236
来自专栏腾讯NEXT学位

NEXT讲坛丨《TypeScript入门》公开课

2275
来自专栏九彩拼盘的叨叨叨

扁平化设计开始流行啦~

在最近几年里,我们发现软件和应用的界面快速的从立体,纹理化变为扁平,简洁化。这种变化趋势是普遍存在的,我们来花些时间来看看这些变化是如何发生的,以及这些变化产生...

934
来自专栏罗超频道

iPhone 6S会带来新一代输入法吗?

iOS每一次升级,App开发者都会如临大敌、严阵以待,以求App能够适配最新版iOS,各类应用纷纷较量谁是最先兼容iOS新版本的。9月16日被视作iOS史上最重...

3537
来自专栏EAWorld

React Native 移动技术在企业架构的应用

很高兴在今天下午与各位有这样一次关于驱动原生(React Native) 技术的交流。 此次交流的内容,主要是我在Pworld2016 大会的讲解内容,本想比较...

3685
来自专栏it知识分享

web前端程序员需要会那些技能?

  黑马程序员为大家分享web前端学习6大技术知识点,希望可以在今后的学习中帮到找到重点,以及学习的主次之分。

1595
来自专栏司想君

2017前端开发手册三-前端职位描述

以下是各种前端职称的列表和说明。最常被大家称呼的两个职位名称是前端开发者或者前端工程师。请记住,只要是称呼中包含前端、client-side、web UI、HT...

4595
来自专栏练小习的专栏

W3C对外公布了标准HTML5的草案

周二,W3C机构正式对外公布了互联网网页代码新标准HTML5的草案.预计正式版的标准将会在两年以后形成. HTML可以说是互联网信息组织的一个基石.据悉,这是自...

2319
来自专栏JetpropelledSnake

Vue学习笔记之Vue介绍

关于他本人的认知,希望大家读一下这篇关于他的文章,或许你会对语言,技术,产生浓厚的兴趣。https://mp.weixin.qq.com/s?__biz=MzA...

995
来自专栏企鹅号快讯

web前端工程师新手如何入门

有很多想要学习web前端开发的新人都想自己能够快速的学习web前端开发,部分人因为自己基础比较薄弱,不知道自己该如何系统的学习,但是有着对web前端强烈的学习动...

2285

扫码关注云+社区

领取腾讯云代金券