极客时间-左耳听风-程序员攻略-前端基础和底层原理

前端基础和底层原理

对于前端的学习和提高,前端的三个最基本的东西 HTML 5、CSS 3 和 JavaScript(ES6)是必须要学好的。这其中有很多很多的技术,比如,CSS 3 引申出来的 Canvas(位图)、SVG(矢量图) 和 WebGL(3D 图),以及 CSS 的各种图形变换可以让你做出非常丰富的渲染效果和动画效果。

学习任何知识都要从基础出发,如下的这些知识,都是前端程序员需要花力气啃下来的硬骨头。

  • JavaScript 的核心原理
  • 浏览器的工作原理
  • 网络协议 HTTP,尤其是 HTTP/2,还有 HTTP 的几种请求方式:短连接、长连接、Stream 连接、WebSocket 连接。
  • 前端性能调优,各种性能调优技术。
  • 框架学习。 React 和 Vue 两个框架。就这两个框架来说,Virtual DOM 技术是其底层技术,组件化是其思想,管理组件的状态是其重点。而对于 React 来说,函数式编程又是其编程思想。
  • UI 设计。设计也是前端需要做的一个事,比如像 Google 的 Material UI,或是比较流行的 Atomic Design 等应该是前端工程师需要学习的。

而对于工具类的东西,只要去动手了,这种知识自然就会获得,还是把精力重点放在更重要的地方。

HTML 5

HTML 5 主要有以下几本书推荐。

  • HTML 5 权威指南 ,本书面向初学者和中等水平 Web 开发人员,是牢固掌握 HTML 5、CSS 3 和 JavaScript 的必读之作。书看起来比较厚,是因为里面的代码很多。
  • HTML 5 Canvas 核心技术 ,如果要做 HTML 5 游戏的话,这本书必读。

对于 SVG、Canvas 和 WebGL 这三个对应于矢量图、位图和 3D 图的渲染来说,给前端开发带来了重武器,很多 HTML5 小游戏也因此蓬勃发展。

最后是几个资源列表。

CSS

MDN Web Doc - CSS

需要学会使用 LESSSaSS 这两个 CSS 预处理工具,其可以帮你提高很多效率。

CSS 的书写规范。

CSS Framework,其中最著名的就是 Twitter 公司的 Bootstrap,其有很多不错的 UI 组件,页面布局方案,可以让你非常方便也非常快速地开发页面。除此之外,还有,主打清新 UI 的 Semantic UI、主打响应式界面的 Foundation 和基于 Flexbox 的 Bulma

在使用 CSS 之前,需要把你浏览器中的一些 HTML 标签给标准化掉。几个 Reset 或标准化的 CSS 库:NormalizeMiniRest.csssanitize.cssunstyle.css

关于更多的 CSS 框架,参看Awesome CSS Frameworks 上的列表。

接下来,是几个公司的 CSS 相关实践,供参考。

最后是一个可以写出可扩展的 CSS 的阅读列表 A Scalable CSS Reading List

JavaScript

下面是学习 JavaScript 的一些图书和文章。

浏览器原理

了解浏览器是怎么工作的,需要看《How browsers work》。这篇文章受众之大,后来被人重新整理并发布为《How Browsers Work: Behind the scenes of modern web browsers》,其中还包括中文版。

精简版的,可以看《浏览器的渲染原理简介》或是看一下这个幻灯片

然后,是对 Virtual DOM 的学习。Virtual DOM 是 React 的一个非常核心的技术细节,它也是前端渲染和性能的关键技术。所以,你有必要要好好学习一下这个技术的实现原理和算法。当然,前提条件是你需要学习过前面我所推荐过的浏览器的工作原理。下面是一些不错的文章。

网络协议

小结

学习任何知识都要从基础出发

HTML 5、CSS 3 和 JavaScript(ES6)这三大基础核心,给出了大量的图书、文章以及其他一些相关的学习资源。

学习浏览器的工作原理和网络协议相关的内容。

posted @ 2019-08-06 16:30  17bdw  阅读(581)  评论(0编辑  收藏  举报