讀書是一種享受,能喜歡讀書的人都是幸福的。
我會毫無保留的把我個人的閱讀書籍經驗全部分享出來,希望可以幫助更多的還在路上的前端小夥伴可以更好的走上正確的道路。
混沌
作為一個前端工程師,我閱讀了很多書籍,前端的,後端的,架構的,底層的,軟技能系列的,等等吧。甩幾張以前儲存的圖吧:
反正一句話,當時啥都看啥都學。當然這上面的一些書籍我買了也只是翻翻,那為什麼要買呢?
如果要回答,那就是愛好吧,買書拆書翻書對我而言也是一種樂趣。
好了,不胡謅了,下面我來分享一些非常值得一看的前端書籍,當然我推薦的都是我看過的,算是靠譜的那種推薦。
PS: 這裡的前端是新時代下的前端
目前書籍推薦相關部落格的缺點
前端書籍推薦的相關博文很多,我也大致看了下,總給我一種這些推薦的書籍已經更不上前端發展的指令碼了。原因大致如下:
- 很多部落格推薦的書籍涉及到的知識範圍面過窄
- 推薦的書籍,出版年數過舊
所以,這裡我按照我個人對前端的思考,來推薦一些我認為在 新時代下,前端工程師需要去看去學習的書籍。
PS: 提一下,很多部落格中,大多都有的推薦書籍我就不說了。比如高程,犀牛書,阮老師的
ES6
,你不知道的系列等。我著重說一下大多數人可能還不清楚的書籍,或者說還在猶豫要不要買的書籍。
我會根據書籍出版年數,內容的老舊程度以及影響力來作為我推薦的參考因素。
書籍推薦
計算機基礎系列
開篇,我就直接甩出最重要的一個系列,但是解決方案也是非常簡單粗暴有效果。
首先,我不推薦讀起來可能會感到枯燥的(大學)書籍。我就推薦四本書,噹噹 搜王道考研 ,第一個就是,如圖所示:
如果你不是計算機專業,那把這四本書看完,努力做做習題,遇到不會的知識點,就去閱讀對應的部落格,如果能做到這樣。那計算機組成,資料結構,計算機網路,作業系統的基本知識你就基本掌握了,也可以說是擁有了計算基礎知識,至少我認為對於前端來說,這樣學目前是夠的。
函數語言程式設計系列
第一本書:JavaScript ES6 函數語言程式設計入門經典
第二本書:JavaScript 函數語言程式設計指南
我只推薦這兩本書,認真看完,你的函式式絕對可以達到入門和較為熟練。
React 系列
這裡我只推薦兩本書:
第一本書:《React設計模式與最佳實踐》
第二本書:《React狀態管理與同構實戰》
推薦理由
出版年數很新,都是 2018
年出版的,知識點足夠乾貨,可以說,如果你研究透了這兩本書,那你的 react
也就差不多了。
PS1:這裡我建議你先把上面我推薦的函式式的書籍看一下,然後你會發現,
react
也是非常好學的。可以這麼說,玩轉了函式,你也就玩轉了react
。
Vue系列
因為我沒買過 Vue
書籍(扎心了),這裡不推薦書籍了,認真閱讀官方網文件(很詳細) 和 Vue
的一些知名開源專案就差不多了。這裡我推薦掘金小冊:
小冊一:剖析 Vue.js 內部執行機制
小冊二:Vue 元件精講
推薦理由
支援掘金小冊,從我做起。
Node.js 系列
這裡我推薦5本書
第一本書:《新時期的Node.js入門》
第二本書:《Node.js進階之路》
第三本書:《Node.js除錯指南》
第四本書:《Node.js實戰 使用Egg.js + Vue.js + Docker構建漸進式、可持續整合與交付應用》
第五本書:《Node.js設計模式》
第六本書:《Node.js 來一打 C++ 擴充套件》
推薦理由
書籍很新,知識點很完善和豐富。這六本書認真看完,你的 node.js
水平一定會得到很大的提升。
演算法知識
第一本書:JS資料結構與演算法
第二本書:程式設計珠璣
第三本書:劍指 offer [曾經用 java
全刷了一遍]
第四本書:程式設計師程式碼面試指南:IT名企演算法與資料結構題目最優解
第五本書:演算法問題實戰策略
推薦理由
JS資料結構的演算法書,我也看過幾本,我個人認為這裡推薦的是最好的一本書,所以推薦給大家。第三本和第四本書,都是針對面試場景的,但是裡面也體現了很多思想。第五本書,是我認為目前看過的最棒的演算法書。
總之吧,看了過段時間還是會忘,但是,每次看都會有新感覺的 feel
也很不錯,為未來的前端人工智慧打基礎,奶萌好好看,問題不大。
linux 知識
一本書就夠了:鳥哥的Linux私房菜之基礎學習篇
推薦理由
業界標準之作,linux
的知識是要熟悉的,以後前端會越來越涉及到伺服器方面的東西,為什麼呢?因為 Node.js
,或者因為新時代下的 Serverless
,你現在不去掌握 linux
基礎知識,那你怎麼能做好面對 Serverless
的準備呢?
如果你不瞭解或者熟悉 Linux
的話,你會發現很多情況下,你無法理解其中的一些操作。
所以奶萌要好好學啊,加油~
其他程式語言知識
第一本書:C++ Primer Plus
第二本書:Python 高效實戰 —— Django、Tornado、Flask、Twisted
第三本書:組合語言(第3版)
推薦理由
第一本書是 C++
的經典,要去翻翻。第二本書是我最近買的一本PY書,感覺還不錯,用來反補 JS
很棒。但我最喜歡的是第三本書,清華大學的王爽老師出的一本組合語言書籍,當初我閱讀這本書的時候,感觸很大,比起其他書,通俗易懂,真的瞭解了很多底層的知識。
關於組合語言的傳說
據說把彙編學通了,你才能真正地從彙編連通到作業系統,連通到 C/C++
。你才能真正看清計算機,才能有機會步入大師級計算機學問的境界。
可是這世上,又有多少人能到達這種境界呢?
為什麼我要推薦 C++
或者 組合語言
呢?
因為在新時代的前端,WebAssembly
的發展是鐵板釘釘的事情,其作用和影響將會非常大,而玩好 WebAssembly
,你需要有這方面的知識儲備。
設計模式
前端也有專門說設計模式的書籍,但是怎麼說呢,這部分知識,我更傾向於你去看我上面推薦 nodejs
系列書籍中的 Node.js
設計模式 這本書。
其他的知識你可以通過相關部落格或者 github
去獲得。
推薦理由
nodejs設計模式
這本書我看過了,已經將設計模式講的非常透徹了。至於程式語言的其他設計模式的書籍我就不推薦了,就推薦這本書吧,這本書可以讓你在學習設計模式的同時又深入學習了 nodejs
的底層知識,一舉兩得吧。
架構系列
第一本書:從零開始學架構:照著做,你也能成為架構師
關於架構我也看過幾本書,比如 《大話程式碼架構》 ,《App架構師》 ,但是我感覺都不太好,這本我推薦的書,我看完以後,我個人覺得很不錯,可以通過這本書來提升自己的架構能力,從而為以後的架構師方向做準備。
底層知識
推薦兩本書:
第一本書:WebKit 技術內幕
第二本書:程式語言原理 第10版
推薦理由
第一本是說瀏覽器核心的,從核心的層次帶你去看瀏覽器的底層工作原理和執行機制。而第二本書是我唯一全部看完的講解程式設計原理方面的書籍,我個人認為,這本書講解的非常棒,非常通俗易懂。想了解編譯原理的小夥伴可以看看這本書,很不錯。
一個現實是,這兩本書好像在幾大官方網站的自營上都沒貨,如果想買,只能通過其他渠道了。
為什麼要學習底層知識?
我舉個例子,編譯原理,為什麼 react
可以這麼火,其他庫和 react
比起來,其實就了一個 jsx
,當然你要說還差一個 facebook
,那我也只能同意?。
但是能搞出 jsx
,也就意味著要熟悉編譯原理層次的一些知識,比如前端最常見的 ast
抽象語法樹。如果你想了解 babel
原理,你也得懂得一些編譯原理的知識。當你想徹底的分析 JS
這門語言的時候,你也要去了解和掌握一些編譯原理的知識。這也是新時代下的前端工程師要掌握的。
圖形程式設計
推薦四本書:
第一本書:HTTML5 Canvas 核心技術
第二本書:Three.js 開發指南
第三本書:WebGL 程式設計指南
第四本書:OpenGL超級寶典 第5版
推薦理由
未來前端,在圖形程式設計領域會走的越來越遠,大家不要落下腳步了,多去學習學習,這裡關於 WebGL
的書籍我也看過幾本,但是想來想去還是隻推薦一本吧,其他的書籍算不上經典。
這裡我還要提一點,如果你想真正的理解圖形程式設計,那你還要去了解圖形學的相關知識,這裡我推薦一個我看過的一門課:
如下圖所示,大學生慕課上的一門圖形學公開課,作者是中國農業大學的趙明教授。
PS:這塊學習,還是要多看
github
上的開源專案,然後多去模仿吧。
其他書籍
第一本書:現代前端技術解析
第二本書:軟技能 程式碼之外的生存指南
第三本書:跨平臺桌面應用開發:基於 Electron
與 NW.js
第四本書:Meteor 實戰
第五本書:Web 安全開發指南
第六本書:同構 JavaScript 應用開發
推薦理由
價格不貴,看了會有收穫的。
產品方面的書籍
第一本書:浪潮之巔上下冊
信仰之書
只有一本書:程式碼大全
推薦理由
信仰之書,這是我作為一個 programmer
的精神信仰。
我的微信頭像:
黎明的曙光
前端已經不再是以前那個前端了,再也回不去了。
備註
- 花了大概3個小時把我以前一直的感受用文章表達了出來,也算是對我讀了這麼多書的一次總結吧。
- 沒有寫
HTML
和CSS
相關的書籍,因為不算難吧,或者因為愛情吧。 - 小夥伴如果有好的書籍,也可以在評論區分享出來。
交流
歡迎大家關注我的掘金部落格或者 github
來獲取後續的系列文章更新通知呢。
文章和資料彙總如下:
我是原始碼終結者,歡迎技術交流。
也可以進 前端狂想錄群 大家一起頭腦風暴。有想加的,因為人滿了,可以先加我好友,我來邀請你進群。
風之語
希望所有的前端工程師( programmer
)都能在工作中獲得快樂,享受前端,享受生活。
最後:尊重原創,轉載請註明出處哈?