1. 程式人生 > >JavaScript高手的資源裝備

JavaScript高手的資源裝備

去年我寫了篇文章,推薦一些JavaScript進階學習的資源。網際網路世界在這一年時間裡發生了翻天覆地的變化,我想現在是個更新資料的好時機。JavaScript在過去的一年不斷髮展,不僅僅是瀏覽器中JS的應用,在伺服器端也有了JS的身影。所以現在讓我們來更新一下這份資源清單吧。

書籍

隨著JS的普及,大家能獲取到的JS書籍實在太多了,但是在我看來只有很少一部分JS書籍可以提供夠新夠有意思的內容。以下是我看過之後,覺得很值得推薦給大家的:

除了Nicolas寫的這本之外,我從未見過另一本能將JavaScript這門語言陳述地如此好,所以《JavaScript高階程式設計》依然在必讀清單上。正如我之前說過的,不管是初學者還是就想查查API的開發者,都可以從這本書中找到所需要的東西。這一版尚未將ES6的內容包含進來,不過我覺得下一版估計會寫到了。

使用好的設計模式來編寫可維護性高的程式碼是無可爭議的。但是找到一個可以實操設計模式的場景卻是一個挑戰。網際網路世界裡噪音太多,如果能讓對某個領域真正有所瞭解的人能夠發表他對那個領域的看法那就太好了。這也是我推薦這本書的原因。Addy不僅僅是一位很優秀的作家,他還是最出色的前端開發者之一,現在任職於Google Chrome團隊,他的工作內容就是成天和JS打交道。這本書可以說是他的工作成果的匯出。

最棒的一點是,這本書是執有知識共享許可(Creative Commons license)的,也就是說你既可以閱讀它的免費電子版,也可以購買紙質版。

JS開發者無法避免的問題之一就是JS面向物件程式設計。JS並不是一個傳統的基於類(class)的語言,不像Java或者C#那樣在設計之初就要兼顧到程式碼封裝的問題。Nicholas又一次寫了本簡明扼要的書來談JS的面向物件問題。不過這本書並不適合初學者,它是為了對JS有了自己理解的開發者或者/和對面向物件程式設計有所思考開發者。儘管如此,這本書還是應該加入你的書單裡。

在基於瀏覽器開發中,如果你想要做點有用的事情,就不要侷限在操作DOM中。不要使用像jQuery這樣操作DOM的庫,實際去理解DOM是如何工作的是很有用的。Cody這本書就是教授如何使用原生的JS來操作DOM元素。這本書可以算是一本cookbook,你不需要跟著目錄學習,可以直接看特定的章節。這本書也提供了免費線上版,或者你也可以買一本紙質本。

基於Node.js的服務端應用已經在業內的頂尖公司得以廣泛應用,PayPal已經將Node.js完全融入了他們的生產系統之中。這項在兩年前的JSConf上初露端倪的技術,現在已經發展成為一項服務端技術,使得前後端語言得以統一。通過閱讀這本書,你的Node.js水平可以得以提高,本書是由業界最出色的一些開發者共同完成編寫的。其中一位作者T.J.Holowaychuk是Node.js框架

Express的作者。如果你想要學習Node.js,就用這本書吧。

現在我們訪問的網站通常都會有一些內嵌的指令碼,這些指令碼可以提供給使用者各式各樣的互動。登入按鈕、社交媒體部件或者一些分析,這些第三方指令碼可以增加你的站點的吸引力。你是否想要知道使用這些指令碼的細節呢?《Third-party JavaScript》是我所能找到的唯一一本講到了關於內嵌指令碼的使用的書。用第三方指令碼讓你的站點變得有趣,提高可用性。Ben現在在Disqus工作,Anton則是在Mozilla但是他同時也是Disqus團隊的一員。Disqus為他們的客戶提供了非常相似的服務,允許客戶將多功能的評論功能內嵌入他們的站點中。這兩位可以說是使用第三方JavaScript的專家。

部落格

在過去的一年裡,我仔細審查了自己的blog收藏清單,做了一些調整以便更好的接收JS方面的知識。以下是我認為可以提供給開發者最好的JS知識的部落格:

Axel Rauschmayer博士希望能將JS語言分成好理解的模組,他的博文很明顯地是在討論這門語言的某些使用方式,解釋JS的原理和它的要點。你能從他的博文中學到很多。

DailyJS依然榜上有名,它將框架和程式碼片段相結合,讓讀者知道時下最新的框架是什麼,以及如何使用它們。

上文有提到Nicholas寫的兩本書,他的部落格同樣在榜。在Nicholas的部落格中你可以看到他深入研究的東西,也能看到他關於ES6的簡介和demo。

新興事物來來去去,我很高興還能推薦JS Weekly給各位。Peter Cooper不僅保持著每週推送,質量也一如既往地好。

這是Peter Cooper的另一個週報專案,這個專案專注於Node.js。和JavaScript Weekly相似,閱讀Node Weekly,做一個Node.js高手。

雖然Addy現在不再頻繁地更新他的部落格了,但是他寫的文章非常之好以至於我依然決定將他的部落格列入這份清單裡。只要Addy保持寫作,你一定不會失望的。

Ben是一個低調的開發者,他只想要做好他的工作,將他的經驗分享給大家。關鍵在於他也是一個天才的開發者,寫了許多關於JavaScript的優秀博文。Ben最近沉迷於AngularJS,他也將這個框架最大限度地使用在他的創業專案中,讀者可以從他的博文中知道AngularJS在實際專案中的應用情況。

別被這個名字給騙了,HTML5Rocks裡說的不僅僅是HTML5,你還能在上面找到很多JavaScript的教程。你需要通過JavaScript最大限度地與HTML5結合,在上面你可以看到許多優秀的作者寫的文章(包括Google Chrome 團隊)。

一開啟SuperheroJS,你就會被它的藝術感給震懾到。我總會想起Dick Tracy的漫畫書。在這,你會沉浸在各種各樣的JS技術當中。

Tuts+

我對Tuts+還是有偏愛的,Tuts上有許多超棒的作者貢獻出超棒的內容。如果你不讀一讀Tuts+上的內容,恐怕不會感受到的。

書本之外

如果書和部落格尚不能滿足你的需求,你也想要寫寫程式碼,那現在有成千上萬的(線上線下)課程可以選擇:

jQuery的作者John Resig在可汗學院(Khan Academy)擔任電腦科學專業的院長,可以確定他的教課計劃中會有很多的JS內容。雖然現在課程還不是很多,但你還是可以從免費課程開始。

自從Codecademy採用了互動式的教學模式,並採用JS作為基礎教學語言,它簡直就是來了個大爆發。現在你可以在上面學到更多的語言,但是JS和jQuery依然是最推薦學習的,它們免費!

這是個社群驅動的網站,你可以通過Nodeschool上的課程加快學習Node的速度。它還有一個特色就是在現實世界中也有由全球開發者維護的node學校。如果你想親臨現場,可以檢視這份活動清單

如果你是個喜歡播客的人,JavaScript Jabber是為你準備的,JS Jabber時不時會邀請業內頂尖人物,討論的也是熱門話題。

尋求幫助

這份清單並沒有變動很多,因為你也知道要找到靠譜的JS支援資源可不是一件容易的事。

我依然認為在JSMentors上你可以找到關於JS問題的最好的答案。這個社群有靠譜的規則來保證使用者的體驗,避免開發者受到糟糕的對待。當然SO提供了很棒的答案,但是你要很仔細的審查答案,SO上貢獻者實在太多了,你要去關注那些高質量的答案。

結論

正如你所看到了,相比去年這份清單更改了許多地方,因為JS世界中多了許多新的可取的資源,還有一些新的影響因素在影響這個世界。最棒的一點就是,如果你是個JS開發者或者想要給這個世界做點什麼,隨著JS慢慢地成為了Web開發的通用語言,可以做的事情越來越多。

相關推薦

JavaScript高手資源裝備

去年我寫了篇文章,推薦一些JavaScript進階學習的資源。網際網路世界在這一年時間裡發生了翻天覆地的變化,我想現在是個更新資料的好時機。JavaScript在過去的一年不斷髮展,不僅僅是瀏覽器中JS的應用,在伺服器端也有了JS的身影。所以現在讓我們來更新一下這份資源清單吧。

[javascript高手之路]寄生組合式繼承的優勢

組合繼承在之前javascript面向對象系列的文章裏面,我們已經探討了組合繼承和寄生繼承,回顧下組合繼承:function Person( uName ){ this.skills = [ ‘php‘, ‘javascript‘ ]; this.userNam

Dynamics 365(online) V9.0 new features for developers(二:JavaScript Web 資源依賴性)

    本篇是9.0版本針對開發者新變化系列的第二篇,JavaScript Web 資源依賴性,初看標題可能看不出所以然來,看下web資源的介面,會看到多了一個依賴項。 其中又分為兩部分,一是web資源的依賴關係,一個是實體屬性的依賴性     根據官方文件的原話

[js高手之路]一步步圖解javascript的原型(prototype)對象,原型鏈

create 原型對象 str 對象賦值 div blank type屬性 查找 __proto__ 我們接著上文繼續,我們通過原型方式,解決了多個實例的方法共享問題,接下來,我們就來搞清楚原型(prototype),原型鏈的來龍去脈. 1 functio

[js高手之路] 我的開源javascript框架gdom - 選擇器用法

htm query bsp https title 是我 pad logs ext gdom框架是我開發的一款dom和字符串處理框架,目前版本是1.0.0. 使用方法跟jquery是差不多的, 會用jquery就會用gdom,目前 1.0.0版本的選擇器完全支持CSS3選擇

[js高手之路]javascript騰訊面試題學習封裝一個簡易的異步隊列

騰訊 selector host .proto 算法 obj 代碼 ner 試題 這道js的面試題,是這樣的,頁面上有一個按鈕,一個ul,點擊按鈕的時候,每隔1秒鐘向ul的後面追加一個li, 一共追加10個,li的內容從0開始技術( 0, 1, 2, ....9 ),首先我

JavaScript資源網址

全棧工程師 asc eight com pre 教程 blog AC script JavaScript 全棧工程師培訓教程 http://www.ruanyifeng.com/blog/2016/11/javascript.htmlJavaScript資源網址

[Js高手之路第一部]JavaScript上百例實戰【新版】_8 javascript二重循環,break與continue語句

lang har TP 新版 asc doc amp ont spa 輸出5行5列的表格 使用二重循環實現 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4

[Js高手之路第一部]JavaScript上百例實戰【新版】_9 javascript二重循環乘法表與n行n列的表格

write wid AR meta else HA char 變色 col 0.隔行變色的表格 HTML style 屬性實現 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head>

Android高手進階教程(二十)之---Android與JavaScript方法相互調用!

工程 orien lns asc eat element 加載 一個 creat 在Android中通過WebView控件,可以實現要加載的頁面與Android方法相互調用,我們要實現WebView中的addJavascriptInterface方法,這樣html才能調用a

熟練掌握javaScript函式這四種方法,離高手又進一步!

函式是由若干程式碼構成,具有獨立功能的程式。在面向物件的程式語言中(java、c++、php等)函式又稱為方法。函式的出現大大提高了程式設計效率,也便於程式設計模組化。 今天主要為大家講解JavaScript中常見的幾種使用方法。這幾種方式的不同的地方在與this 的初始化。 &nbs

高手總結PHP學習資源和連結

PHP Blog Personal Blog Aaron Wormus : http://www.wormus.com/aaron/ Adam Trachtenberg : http://www.trachtenberg.com Andrei Zmievski : http://www.gravitonic.

10個學習JavaScript的免費線上資源丨附地址

我們都聽說過“ JavaScript ” 這個術語,但我們中只有少數人知道它的用法和應用。這裡的“我們中的少數”是指技術青年、網路程式設計師和IT專業人員。但是,對於外行來說,“JavaScript”只不過是一個與計算機程式設計相關的複雜術語。 那麼,什麼是Java

javascript入門資料資源搜集

color 資源 初學 http rip mic 定律 簡單的 pos 1、JavaScript 教程 阮一峰 本教程全面介紹 JavaScript 核心語法,從最簡單的講起,循序漸進、由淺入深,力求清晰易懂。 所有章節都帶有大量的代碼實例,便於理解和模仿,可以用到實際項

[js高手之路]從零開始打造一個javascript開源框架gdom與外掛開發免費視訊教程連載中

具體課程目錄: 1,課程安排【視訊已上傳】 2,gdom框架使用方法【視訊已上傳】 3,變數提升【視訊已上傳】 4,變數提升之同名變數,函式宣告,表示式的提升規則【視訊已上傳】 5,this關鍵字專題詳解【視訊已上傳】 6,物件在記憶體中的表現形式【視訊已上傳】 7,圖解原型物件與隱式原

我要成為前端工程師!給 JavaScript 新手的建議與學習資源整理

來源於:http://blog.miniasp.com/post/2016/02/02/JavaScript-novice-advice-and-learning-resources.aspx 今年有越來越多企業開始跟我們接洽企業內訓的事,想請我幫他們培訓前端工程師,但你知道一個好的前端工程師絕對不是兩

如何成為資源整合高手

從2000年到2010年這十年,我大部分時間都是每天16個小時在電腦前,天天學、天天干、自己親手做的網站都有上百個,最後把自己整的想全能機器人似的,什麼都會,結果很累,身心疲憊。 後來想明白了,

多個JavaScript庫使用 $ 號的命名沖突問題

多個 script 一個 對象 conflict onf java read 調用 多個JavaScript庫使用 $ 號的命名沖突問題:  1. 為解決這個問題,jQuery 提供了一個 jQuery.noConflict() 方法,調用該方法可以把對 $ 標

【內存優化】加載一張圖像資源到底占據多少內存

div blog 效果 .get round raw tails 整體 spa 0.內容概覽 1. 簡介 2. 問題 3. 概念描述 4. 具體分析 5. 總結 6. 參考文檔 1.簡介 Android中經常要通過ImageView進

javascript字符串方法總結

大小寫 comm 其他 tolower 匹配 一行 ror 運算 轉換 一、單引號字符串內部可以使用雙引號,雙引號字符串內部也可以使用單引號 "hello ‘world‘" ‘welcome "to" js‘ 二、多行和轉義 如果要在單引號字符串的內部,使用單引號(或者