前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端读书路线图:从入门到编写框架

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

作者头像
Phodal
发布2018-08-08 18:02:03
4270
发布2018-08-08 18:02:03
举报
文章被收录于专栏:phodalphodal

某天,我在阅读《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 完整版

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 phodal 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 提升 ES/JavaScript
    • 《JavaScript 高级程序设计》
      • 可选工具书:《JavaScript 权威指南》
        • 《JavaScript 语言精粹》
          • 《深入理解 ES6》
            • 《编写可维护的 JavaScript》
            • CSS 基础
              • 可选工具书:《CSS 权威指南》
                • 《CSS 世界》
                  • 《精通 CSS:高级 Web 标准解决方案》
                  • DOM 篇
                    • 可选工具书:《DOM 启蒙》
                      • 《JavaScript DOM 编程艺术》
                      • Web 框架
                        • 《单页 Web 应用: JavaScript 从前端到后端》
                          • 《JavaScript 框架设计》
                            • 《基于 MVC 的 JavaScript Web 富应用开发》
                            • 结论
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档