前端進階路線分享
本文會跟隨技術發(fā)展和我個人技術水平的提升定期更新。上次更新時間:2021 年 03 月 27 日。在本公眾號后臺回復「入門」或「進階」即可獲取最新版前端學習路線。
前言
前端進階
階段四:語言基礎進階
這個階段就是加深對編程語言的理解,多閱讀進階書籍,有能力的推薦去閱讀 ECMAScript 規(guī)范:http://ecma-international.org/ecma-262/。在這里我可能就推薦一些我看過或者我買了還沒看完的書籍,在進階階段,只需要指出方向,具體的學習方法相信大家也都明白了。
進階必讀書籍:
《你不知道的 JavaScript 上/中/下卷》:必買書籍,將 JavaScript 的疑難問題,細節(jié)知識一網(wǎng)打盡。原版是 GitHub 上開源的電子書,英語水平高的可以去讀英文原版。 《JavaScript 忍者秘籍》:深入講解 JavaScript 的核心知識點,必買書籍。 《了不起的 JavaScript 工程師》:從宏觀來看 JavaScript 語言,以及前端工程師所需要掌握的一些技能,推薦閱讀。 《JavaScript 函數(shù)式編程指南》:學習函數(shù)式編程思想 《JavaScript 函數(shù)式編程》:也是一本函數(shù)式編程思想的好書 《JavaScript 設計模式》:學習 JavaScript 設計模式,推薦閱讀 《JavaScript 設計模式與開發(fā)實踐》:另一本同等分量的設計模式書籍,推薦閱讀 《鋒利的 jQuery》:jQuery 現(xiàn)在已經(jīng)很少有人用了,除非是很老的項目或者寫小東西。不過這本書值得買,學習 jQuery 的優(yōu)秀思想,還可以去學習一下它的源碼,對你進階很有幫助。
進階選讀書籍:
《高性能 JavaScript》 《JavaScript Web 應用開發(fā)》 《深入理解 JavaScript》 《JavaScript 經(jīng)典實例》 《JavaScript 面向?qū)ο缶幊讨改稀?/section> 《JavaScript 編程精粹》
學習 TypeScript。JavaScript 是一門弱類型語言,你聲明一個變量,既可以將字符串賦值給它,也可以將數(shù)字等復制給它,這在大型項目開發(fā)中很容易因為數(shù)據(jù)類型出 bug。基于此類種種原因,就出現(xiàn)了 TypeScript。你有了 JavaScript 的基礎,學習 TypeScript 很容易,它只是一種語法糖,也就是一種另一種寫 JavaScript 的方式。推薦以下書籍:
《深入理解 TypeScript》 《TypeScript 實戰(zhàn)指南》 《TypeScript 實戰(zhàn)》
階段五:框架和學習邊界進階
通過階段三,你已經(jīng)掌握了前端框架的基本使用,開發(fā)一個完整項目的流程。那么在框架和學習邊界進階階段,你就可以:
學習框架周邊的生態(tài),社區(qū)總結(jié)出來的優(yōu)秀組件,以及各種好用的工具庫。 造一些自己的輪子,使用框架搭建自己的開源項目 學習 Webpack,Gulp,Babel,ESLint 等工具的使用、思想和原理 帶著問題去閱讀框架源碼,學習性能優(yōu)化 養(yǎng)成良好的編程習慣 擴展技術邊界,學習 Node.js 等后端相關技能 ……
對于這里的源碼閱讀我要強調(diào)一點,閱讀源碼不是說讓你去讀懂例如 React 框架的每一行代碼,而是結(jié)合其代碼整體邏輯加上部分細節(jié)分析,理解其實現(xiàn)和工作原理,以幫助你更好地理解其設計理念,更好地使用它開發(fā)項目,并避免錯誤地使用。而且現(xiàn)在社區(qū)有很多源碼分析文章,你可以將源碼閱讀和多篇分析文章結(jié)合起來,理解起代碼來會事半功倍。
推薦閱讀書籍:
以下推薦的書籍都是比較出名的書籍,你可以根據(jù)自己的技能樹,選擇所需要的書籍進行閱讀。并不是一字不差地整本閱讀,而是在每本書中學習自己所需要的部分。很多都是非常著名的好書,有精力盡量買來學習。
Webpack 相關:
《深入淺出 Webpack》 《Webpack 實戰(zhàn):入門、進階與調(diào)優(yōu)》
React 相關:
《深入 React 技術棧》 《深入淺出 React 和 Redux》 《Redux 實戰(zhàn)》 《React 學習手冊》 《React 快速上手開發(fā)》 《React 設計模式與最佳實踐》
Vue 相關:
《Vue.js 實戰(zhàn)》 《Vue.js 開發(fā)實戰(zhàn)》 《深入淺出 Vue.js》 《Vue.js 權(quán)威指南》 《Vue.js 從入門到項目實戰(zhàn)》 《Vue.js 前端開發(fā)基礎與項目實戰(zhàn)》 《Vue.js 項目開發(fā)實戰(zhàn)》 《Vue.js 快速入門》 《Vue.js 前端開發(fā)》
Node.js 相關:
《狼書卷1》 《狼書卷2》 《Node 學習指南》 《了不起的 Node.js》 《深入淺出 Node.js》 《Node.js 實戰(zhàn)》 《Node.js 開發(fā)指南》 《Node 即學即用》 《Node 與 Express 開發(fā)》
樣式和布局相關:
《Bootstrap 實戰(zhàn)》 《Bootstrap 用戶手冊》 《響應式 Web 設計:HTML5 與 CSS3 實戰(zhàn)》
性能相關:
《Web 性能權(quán)威指南》 《高性能網(wǎng)站建設指南》
PWA 相關:
《PWA 開發(fā)實戰(zhàn)》 《PWA 實戰(zhàn):面向下一代的 Progressive Web APP》
其他:
《SVG 精髓》 《深入理解 SVG》 《前端架構(gòu)設計》 《重構(gòu):改善既有代碼的設計》 《同構(gòu) JavaScript 應用開發(fā)》
階段六:計算機基礎知識進階
編程編程,萬變不離其宗,那就是計算機基礎知識,算法、數(shù)據(jù)結(jié)構(gòu)、計算機原理、網(wǎng)絡等內(nèi)容。在這里我只推薦最經(jīng)典的好書,每一本都是必讀書籍。學好這些內(nèi)容,大廠任你選。
數(shù)據(jù)結(jié)構(gòu)和算法:
《劍指offer》 《程序員面試金典(第 6 版)》 《編程之美》 《漫畫算法》 《算法圖解》 《程序員代碼面試指南》 《大話數(shù)據(jù)結(jié)構(gòu)》 《趣學算法》 《學習 JavaScript 數(shù)據(jù)結(jié)構(gòu)與算法》 《數(shù)據(jù)結(jié)構(gòu)與算法:JavaScript 描述》 《算法(第四版)》 《算法導論》 《算法競賽入門經(jīng)典(第二版)》 《算法競賽入門經(jīng)典 訓練指南》
計算機網(wǎng)絡:
《HTTP/2 基礎教程》 《HTTPS 權(quán)威指南》 《計算機網(wǎng)絡:自頂向下方法》 《圖解 HTTP》 《圖解 TCP/IP》 《TCP/IP 詳解》 《UNIX 網(wǎng)絡編程》
操作系統(tǒng):
《深入理解計算機系統(tǒng)》 《現(xiàn)代操作系統(tǒng)》 《UNIX 環(huán)境高級編程》 《The Linux Programming Interface》
編程思想:
《代碼大全》
編譯原理:
《編譯原理》
產(chǎn)品思想:
Web Fundamentals: https://developers.google.com/web/fundamentals/
總結(jié)
至此,你已經(jīng)基本完成了前端開發(fā)從入門到進階,相信你對之后再學什么、怎么學已經(jīng)了如指掌。希望我的分享對你有幫助,如果你覺得有用,可以收藏本文,并分享給你有需要的朋友。讓我們一起學習,共同進步!
