極客時間-左耳聽風-程序員攻略-前端基礎和底層原理

前端基礎和底層原理

對於前端的學習和提升,前端的三個最基本的東西 HTML 五、CSS 3 和 JavaScript(ES6)是必需要學好的。這其中有不少不少的技術,好比,CSS 3 引伸出來的 Canvas(位圖)、SVG(矢量圖) 和 WebGL(3D 圖),以及 CSS 的各類圖形變換可讓你作出很是豐富的渲染效果和動畫效果。javascript

學習任何知識都要從基礎出發,以下的這些知識,都是前端程序員須要花力氣啃下來的硬骨頭。css

  • JavaScript 的核心原理
  • 瀏覽器的工做原理
  • 網絡協議 HTTP,尤爲是 HTTP/2,還有 HTTP 的幾種請求方式:短鏈接、長鏈接、Stream 鏈接、WebSocket 鏈接。
  • 前端性能調優,各類性能調優技術。
  • 框架學習。 React 和 Vue 兩個框架。就這兩個框架來講,Virtual DOM 技術是其底層技術,組件化是其思想,管理組件的狀態是其重點。而對於 React 來講,函數式編程又是其編程思想。
  • UI 設計。設計也是前端須要作的一個事,好比像 Google 的 Material UI,或是比較流行的 Atomic Design 等應該是前端工程師須要學習的。

而對於工具類的東西,只要去動手了,這種知識天然就會得到,仍是把精力重點放在更重要的地方。html

HTML 5

HTML 5 主要有如下幾本書推薦。前端

  • HTML 5 權威指南 ,本書面向初學者和中等水平 Web 開發人員,是牢固掌握 HTML 五、CSS 3 和 JavaScript 的必讀之做。書看起來比較厚,是由於裏面的代碼不少。
  • HTML 5 Canvas 核心技術 ,若是要作 HTML 5 遊戲的話,這本書必讀。

對於 SVG、Canvas 和 WebGL 這三個對應於矢量圖、位圖和 3D 圖的渲染來講,給前端開發帶來了重武器,不少 HTML5 小遊戲也所以蓬勃發展。html5

最後是幾個資源列表。java

CSS

MDN Web Doc - CSSreact

須要學會使用 LESSSaSS 這兩個 CSS 預處理工具,其能夠幫你提升不少效率。nginx

CSS 的書寫規範。git

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 五、CSS 3 和 JavaScript(ES6)這三大基礎核心,給出了大量的圖書、文章以及其餘一些相關的學習資源。

學習瀏覽器的工做原理和網絡協議相關的內容。

相關文章
相關標籤/搜索