精通Node.js: 你應(yīng)該閱讀的書(shū)籍

最開(kāi)始的幾年,在應(yīng)用服務(wù)器編程領(lǐng)域,我存在著一個(gè)選擇。那時(shí)候,我已經(jīng)遠(yuǎn)離了C一些時(shí)間,喜歡上JavaScript很長(zhǎng)時(shí)間。

我喜歡JavaScript是因?yàn)镴avaScript很輕,很優(yōu)雅,很容易表達(dá)我的想法。并且如果我想實(shí)現(xiàn)一個(gè)可視化的內(nèi)容,我可以在半小時(shí)內(nèi)通過(guò)HTML Css寫(xiě)出一個(gè)漂亮的、生動(dòng)的交互工具,然后把我任何想到的東西扔進(jìn)去給別人看。

我很喜歡這樣寫(xiě)javascript,雖然我知道道上這樣寫(xiě):JavaScript。但是javascript這樣的寫(xiě)法讓我覺(jué)得更加的輕快,雖然javascript本質(zhì)上已經(jīng)很輕了。

應(yīng)用服務(wù)器編程,需要更快速高效的編碼,更嚴(yán)格繁雜的口令認(rèn)證安全檢測(cè)。當(dāng)我在面臨這個(gè)轉(zhuǎn)向選擇時(shí),我猶豫在兩個(gè)方面:一個(gè)是Node.js,而另一個(gè)則是Golang。沒(méi)錯(cuò),就是Golang。

當(dāng)時(shí)這兩個(gè)領(lǐng)域的資料非常少。我在書(shū)庫(kù)市場(chǎng)上挑選了幾天后,我決定了使用Golang:

  • 肯·湯普遜編寫(xiě)
  • Google背景
  • C的簡(jiǎn)化版,封裝了大量通信函數(shù)
  • 有兩本書(shū)《Go語(yǔ)言程序設(shè)計(jì)》《Go語(yǔ)言編程》

我訂閱了兩本書(shū),并且開(kāi)始Golang。開(kāi)始的幾章是很順暢的,一些C風(fēng)格的保留,一些DDL語(yǔ)言的語(yǔ)法,倒也充滿了新鮮的樂(lè)趣。不過(guò)當(dāng)我讀到新的結(jié)構(gòu)體,和對(duì)象的時(shí)候,臃腫的聲明方式和難看的定義,讓我產(chǎn)生了極大的反感。這絕不應(yīng)該是21世紀(jì)發(fā)明的語(yǔ)言。如果我要寫(xiě)Go,那我還不如去寫(xiě)Java,或者轉(zhuǎn)回C。

所以很快的,我丟棄了Golang。并且關(guān)注Node.js的消息。

在我開(kāi)始真正決定全面轉(zhuǎn)向Node.js時(shí),來(lái)自一本書(shū)籍的出版:《Node.js高級(jí)編程》。一本真正撥云見(jiàn)日,深入淺出,用最通俗的文字解釋了Node.js的使用過(guò)程。于是,在這個(gè)背景下,我很順利并且快速的轉(zhuǎn)入Node.js,并以此為主要編程工作。

要想完全的理解一個(gè)領(lǐng)域的內(nèi)容,紙質(zhì)書(shū)本是絕對(duì)必要的。電子書(shū)本雖然有其便易性,但是在閱讀上并不方便。在研究的過(guò)程中,你會(huì)需要不時(shí)地翻閱書(shū)中的某些特定內(nèi)容,而電子書(shū)并不適合。紙質(zhì)的書(shū)本可以讓你迅速定位到需要的內(nèi)容,并且把思維限制在一個(gè)小的范圍,進(jìn)而獲得深入的探索、領(lǐng)悟。

亞馬遜京東,都提供貨到付款,花幾分鐘選好書(shū),然后點(diǎn)擊購(gòu)買(mǎi),當(dāng)天或者第二天就能收到你需要的書(shū)本。獲取知識(shí)很容易。

I 你需要閱讀的Node.js基礎(chǔ)書(shū)籍

進(jìn)入Node.js,一定要搭配輕松易懂的書(shū)籍,這樣才能花費(fèi)最少的時(shí)間,獲得最高的收益。以下是我對(duì)一些Node.js書(shū)籍的讀后印象。

  1. 《Node.js高級(jí)編程》

    《Node.js高級(jí)編程》
    《Node.js高級(jí)編程》

    Node.js是一種主流框架,它允許你使用JavaScript快速構(gòu)建具有高度可伸縮性的網(wǎng)絡(luò)程序??墒?,它有自己的學(xué)習(xí)曲線,這本較為深入的指南性圖書(shū)首先介紹了Node.js平臺(tái)的安裝,然后重點(diǎn)關(guān)注:創(chuàng)建和加載模塊;使用緩沖區(qū)對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行處理、編碼和編碼;用事件發(fā)射器模式簡(jiǎn)化事件綁定等。本書(shū)還涵蓋了從使用定時(shí)器制定函數(shù)執(zhí)行計(jì)劃到創(chuàng)建和控制外部進(jìn)程等內(nèi)容,可以讓你為運(yùn)行、構(gòu)建和測(cè)試自定義模塊做好準(zhǔn)備。

    Pedro Teixeria是一位高產(chǎn)的開(kāi)源項(xiàng)目程序員,同時(shí)也是眾多Node.js模塊的構(gòu)建者。他是Node公司的創(chuàng)始人之一,同時(shí)也是Nodejitsu公司的高級(jí)程序員,Nodejitsu公司是以Node.js平臺(tái)作為服務(wù)的領(lǐng)頭羊。自從在14年前獲得軟件工程學(xué)位后,他從事過(guò)的職業(yè)包括咨詢師和程序員,并且他還是世界知名的Node.js社區(qū)活躍成員。此外,他還是廣受歡迎的Node Tuts視頻的制作者。

    沒(méi)有更多的言語(yǔ)來(lái)形容這本書(shū)的價(jià)值,這本書(shū)絕對(duì)是你進(jìn)入Node.js領(lǐng)域必讀的第一本書(shū)!

    從異步模型開(kāi)始,作者逐步講解了事件、流、二進(jìn)制數(shù)據(jù)處理、文件系統(tǒng)、TCP HTTP常識(shí)、TCP客戶端服務(wù)器、HTTP客戶端服務(wù)器、TLS以及HTTPS安全通信、進(jìn)程子進(jìn)程、mongodb、mysql、redis數(shù)據(jù)庫(kù)的連接操作,甚至還介紹了一些流行的中間件和express。

    通俗易通,內(nèi)容廣泛。被稱作Node.js領(lǐng)域的《JavaScript高級(jí)編程》(JavaScript圣經(jīng))。這本書(shū)堪稱Node.js圣經(jīng), 我直到現(xiàn)在還是經(jīng)常翻看其中的某些內(nèi)容。

  2. 《了不起的Node.js:將JavaScript進(jìn)行到底》

    《了不起的Node.js:將JavaScript進(jìn)行到底》
    《了不起的Node.js:將JavaScript進(jìn)行到底》

    《了不起的Node.js:將JavaScript進(jìn)行到底》是一本經(jīng)典的 Learning by Doing的書(shū)籍。它由 Node社區(qū)著名的 Socket.IO作者—— Guillermo Rauch,通過(guò)大量的實(shí)踐案例撰寫(xiě),并由 Node社區(qū)非?;钴S的開(kāi)發(fā)者—— Goddy Zhao翻譯而成。 《了不起的Node.js:將JavaScript進(jìn)行到底》內(nèi)容主要由對(duì)五大部分的介紹組成: Node核心設(shè)計(jì)理念、 Node核心模塊 API、Web開(kāi)發(fā)、數(shù)據(jù)庫(kù)以及測(cè)試。從前到后、由表及里地對(duì)使用 Node進(jìn)行 Web開(kāi)發(fā)的每一個(gè)環(huán)節(jié)都進(jìn)行了深入的講解,并且最大的特點(diǎn)就是通過(guò)大量的實(shí)際案例、代碼展示來(lái)剖析技術(shù)點(diǎn),講解最佳實(shí)踐。

    本書(shū)寫(xiě)作精良 —— Amazon.com讀者Shawn Rapp
    本書(shū)直指要點(diǎn),且無(wú)無(wú)用廢話,可謂字字珠璣 —— Amazon.com讀者Pragmateek

    也是把Node.js講的非常清晰的一本書(shū),比《Node.js高級(jí)編程》稍遜一籌,但是也是非常難得。里邊的內(nèi)容《Node.js高級(jí)編程》基本上都講到了,不過(guò)大家站的角度略有不同,可以搭配翻看。另外此書(shū)還講解了TDD和BDD測(cè)試開(kāi)發(fā),并且講解了Mocha測(cè)試框架,對(duì)于想了解測(cè)試是不錯(cuò)的選擇。

  3. 《Node即學(xué)即用》

    《Node即學(xué)即用》
    《Node即學(xué)即用》

    "本書(shū)探討了Node及許多第三方模塊,并給出了指導(dǎo)練習(xí),旨在帶你了解Node。通過(guò)學(xué)習(xí)本書(shū),你不但能夠熟悉JavaScript的基本操作,還能逐漸開(kāi)始構(gòu)建復(fù)雜、交互式的網(wǎng)站。如果你曾經(jīng)使用過(guò)其他服務(wù)器端Web框架,定會(huì)震驚于用Node這么容易就能編寫(xiě)一個(gè)服務(wù)器!"
    -- Ryan Dahl,Node.js的創(chuàng)建者

    "本書(shū)很好地詮釋了Node的精髓,并講述了如何用它構(gòu)建交互式網(wǎng)絡(luò)應(yīng)用和網(wǎng)站。Node棒極了,而本書(shū)就是關(guān)于Node的很好的指南,請(qǐng)盡情享受閱讀的樂(lè)趣吧!"
    -- Brendan Eich,JavaScript的創(chuàng)建者

    我第一本Node.js書(shū)買(mǎi)的此書(shū),但是實(shí)在不適合作為第1本Node.js參考書(shū)。

    書(shū)很薄,內(nèi)容講的點(diǎn)到為止,但是內(nèi)容都充滿了黃金。適合作為第2本進(jìn)階書(shū)籍,如果你沒(méi)有Node.js基礎(chǔ),看此書(shū)會(huì)讓你十分困難。然而當(dāng)你掌握了Node.js之后,看此書(shū)能讓你認(rèn)清Node.js的內(nèi)部成分。

    書(shū)中一開(kāi)始就是Twitter應(yīng)用客戶端和服務(wù)器的Demo,然后逐步講解了REPL、常見(jiàn)服務(wù)器模型、加密解密、緩沖區(qū)、TCP HTTP原理、中間件、常用數(shù)據(jù)庫(kù)的通信過(guò)程。

    非常實(shí)用的書(shū)籍,一定要買(mǎi)一本!

  4. 《Node.js開(kāi)發(fā)指南》

    《Node.js開(kāi)發(fā)指南》
    《Node.js開(kāi)發(fā)指南》

    這本書(shū)更確切的說(shuō)是一本小冊(cè)子,對(duì)Node.js的介紹比較簡(jiǎn)單,沒(méi)有深入太多。講解了TCP HTTP服務(wù)器的構(gòu)建和使用express構(gòu)建博客的過(guò)程,和一些其他的Node.js內(nèi)容。

    讀這本書(shū)比較容易入門(mén),文字寫(xiě)的很清晰。但是切記,讀完之后務(wù)必要有一本系統(tǒng)介紹Node.js的書(shū)作為后盾,不然你很容易停留表面。

II 你需要閱讀的TCP HTTP基礎(chǔ)書(shū)籍

TCP?
HTTP?

沒(méi)錯(cuò),如果你想搞Node.js,那就意味著你要跟TCP HTTP搞在一起。那么你就必須了解TCP HTTP的內(nèi)部原理。如果你不能正確理解TCP HTTP的底層內(nèi)容,就無(wú)法編寫(xiě)出靈活高效的應(yīng)用服務(wù)。

上邊的一些Node.js書(shū)籍對(duì)TCP HTTP有了一些系統(tǒng)性的介紹,但是我覺(jué)得還遠(yuǎn)遠(yuǎn)不夠,尤其是HTTP HTTPS,應(yīng)用服務(wù)器最主要的內(nèi)容。

所以,你大概還需要以下的書(shū)籍。

  1. 《HTTP權(quán)威指南》

    《HTTP權(quán)威指南》
    《HTTP權(quán)威指南》

    《HTTP權(quán)威指南》詳細(xì)解釋了HTTP協(xié)議,包括HTTP是如何工作的,如何用HTTP來(lái)開(kāi)發(fā)基于Web的應(yīng)用程序,核心的因特網(wǎng)協(xié)議如何與架構(gòu)構(gòu)建塊交互,如何正確實(shí)現(xiàn)因特網(wǎng)客戶和服務(wù)器等?!禜TTP權(quán)威指南》的中心內(nèi)容是HTTP,本質(zhì)是理解Web的工作原理,以及如何將這些知識(shí)應(yīng)用到Web編程和管理之中,主要涵蓋HTTP的技術(shù)運(yùn)作方式、產(chǎn)生動(dòng)機(jī)、性能和目標(biāo)以及一些相關(guān)技術(shù)問(wèn)題。

    不需要我多說(shuō)了,HTTP的圣經(jīng)!

    學(xué)習(xí)HTTP不可能不看這本書(shū)。
    而且書(shū)中還同時(shí)講解了部分TCP原理。

    你想要的東西都在里邊:報(bào)文,編碼,新鮮度,命中,緩存,隧道、連接管理,代理,機(jī)器人,DNS,...應(yīng)用盡有。學(xué)習(xí)HTTP最全面最權(quán)威的書(shū)籍!

    如果你是Node.js程序員,卻從來(lái)沒(méi)有閱讀過(guò)本書(shū),那么很難成為一個(gè)高層的Node.js程序員。

  2. 《Web性能權(quán)威指南》

    《Web性能權(quán)威指南》
    《Web性能權(quán)威指南》

    《Web性能權(quán)威指南》是谷歌公司高性能團(tuán)隊(duì)核心成員的權(quán)威之作,堪稱實(shí)戰(zhàn)經(jīng)驗(yàn)與規(guī)范解讀完美結(jié)合的產(chǎn)物。《Web性能權(quán)威指南》目標(biāo)是涵蓋Web開(kāi)發(fā)者技術(shù)體系中應(yīng)該掌握的所有網(wǎng)絡(luò)及性能優(yōu)化知識(shí)。全書(shū)以性能優(yōu)化為主線,從TCP、UDP和TLS協(xié)議講起,解釋了如何針對(duì)這幾種協(xié)議和基礎(chǔ)設(shè)施來(lái)優(yōu)化應(yīng)用。然后深入探討了無(wú)線和移動(dòng)網(wǎng)絡(luò)的工作機(jī)制。最后,揭示了HTTP協(xié)議的底層細(xì)節(jié),同時(shí)詳細(xì)介紹了HTTP 2.0、 XHR、SSE、WebSocket、WebRTC和DataChannel等現(xiàn)代瀏覽器新增的具有革命性的新能力。

    我覺(jué)得這本書(shū)的性價(jià)比不怎么樣,不過(guò)也值得一看。如果你手頭不那么寬裕,不買(mǎi)也罷。書(shū)中講解了一些實(shí)際運(yùn)用的服務(wù)器,特別講解了通信的延遲、帶寬、請(qǐng)求響應(yīng)需要考慮的方方面面,以及其他服務(wù)器所能涉及到的實(shí)際問(wèn)題。

    如果你不在乎多花幾十大洋,可以買(mǎi)一本搭配《HTTP權(quán)威指南》看。

  3. 《RESTful Web Services》

    《RESTful Web Services》
    《RESTful Web Services》

    《RESTful Web APIs中文版》是針對(duì)RESTful API的實(shí)用指南,通過(guò)展示各種用來(lái)創(chuàng)建高可用應(yīng)用的強(qiáng)大工具,講解REST的深層原理,以及介紹基于超媒體API的策略,使讀者得以在將上述內(nèi)容融會(huì)貫通后,設(shè)計(jì)出讓客戶高度滿意的RESTful的web API?!禦ESTful Web APIs中文版》極具權(quán)威性與前瞻性,既代表了API領(lǐng)域的最前沿趨勢(shì),也覆蓋了API領(lǐng)域的最重要實(shí)踐。

    “這是一本了不起的書(shū)!《RESTful Web APIs》覆蓋了當(dāng)今API領(lǐng)域最重要的趨勢(shì)和實(shí)踐?!?br> ——John Musser ProgrammableWeb創(chuàng)始人

    很不錯(cuò)的書(shū)。

    看了這本書(shū),能讓你了解RESTful的常識(shí),并進(jìn)一步增加對(duì)HTTP URI設(shè)計(jì)的了解。對(duì)于應(yīng)用服務(wù)器開(kāi)發(fā)和架構(gòu)設(shè)計(jì),也是一本非常好的參考書(shū)。

    如果你是服務(wù)器應(yīng)用設(shè)計(jì)的新手,這本書(shū)能很好地指導(dǎo)你如何設(shè)計(jì)你的URI。

III 你需要閱讀的設(shè)計(jì)模式書(shū)籍

如果你不想局限于做一個(gè)"小工",那么具備模型設(shè)計(jì)思維是非常必要的。
如何更好的設(shè)計(jì)目標(biāo),更有結(jié)構(gòu)性的編碼,提供更好的接口,那么有必要讀一讀設(shè)計(jì)模型的書(shū)籍。

并不是面向?qū)ο蟛判枰O(shè)計(jì)模式!

  1. 《Head First 設(shè)計(jì)模式》

    《Head First 設(shè)計(jì)模式》
    《Head First 設(shè)計(jì)模式》

    ?!禜ead First設(shè)計(jì)模式(中文版)》的產(chǎn)品設(shè)計(jì)應(yīng)用神經(jīng)生物學(xué)、認(rèn)知科學(xué),以及學(xué)習(xí)理論,這使得此書(shū)能夠?qū)⑦@些知識(shí)深深地印在你的腦海里,不容易被遺忘?!禜ead First設(shè)計(jì)模式(中文版)》的編寫(xiě)方式采用引導(dǎo)式教學(xué),不直接告訴你該怎么做,而是利用故事當(dāng)作引子,帶領(lǐng)讀者思考并想辦法解決問(wèn)題。

    編程書(shū)籍哪家強(qiáng)?圖靈暢銷找Head First!

    我覺(jué)得Head First系列的書(shū)籍不止是用匠心獨(dú)具來(lái)形容了,這套叢書(shū)簡(jiǎn)直就是許多高端程序員送出的禮物。讀這些書(shū),如同在幼稚園同老師做益智游戲,簡(jiǎn)單輕松搞笑,同時(shí)學(xué)到刻骨的知識(shí)。

    Head First的每一本書(shū)都是經(jīng)典中的經(jīng)典!

    這本書(shū)的編程語(yǔ)言是Java,沒(méi)有關(guān)系,即便你不懂Java,有任何一門(mén)語(yǔ)言基礎(chǔ),你都能看懂這本書(shū)。書(shū)中對(duì)設(shè)計(jì)模式Gof圣經(jīng)進(jìn)行了白話講解,你不知道如何就學(xué)通了設(shè)計(jì)模式。

  2. 《計(jì)算機(jī)科學(xué)叢書(shū):設(shè)計(jì)模式 可復(fù)用面向?qū)ο筌浖幕A(chǔ)》

    《計(jì)算機(jī)科學(xué)叢書(shū):設(shè)計(jì)模式 可復(fù)用面向?qū)ο筌浖幕A(chǔ)》
    《計(jì)算機(jī)科學(xué)叢書(shū):設(shè)計(jì)模式 可復(fù)用面向?qū)ο筌浖幕A(chǔ)》

    《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》是引導(dǎo)讀者走出軟件設(shè)計(jì)迷宮的指路明燈,凝聚了軟件開(kāi)發(fā)界幾十年設(shè)計(jì)經(jīng)驗(yàn)的結(jié)晶。四位頂尖的面向?qū)ο箢I(lǐng)域?qū)<揖倪x取了最具價(jià)值的設(shè)計(jì)實(shí)踐,加以分類整理和命名,并用簡(jiǎn)潔而易于重用的形式表達(dá)出來(lái)。本書(shū)已經(jīng)成為面向?qū)ο蠹夹g(shù)人員的圣經(jīng)和詞典,書(shū)中定義的23個(gè)模式逐漸成為開(kāi)發(fā)界技術(shù)交流所必備的基礎(chǔ)知識(shí)和語(yǔ)匯。

    設(shè)計(jì)模式范式化的出處。設(shè)計(jì)模式書(shū)籍的權(quán)威鼻祖。

    但是我對(duì)此書(shū)的評(píng)價(jià)是差評(píng)。此書(shū)使用C++作為語(yǔ)言,而且4位作者似乎并不像真的告訴你設(shè)計(jì)模式是怎么回事,雖然作者們看似很勤勞,配圖一個(gè)接著一個(gè),但是該講的內(nèi)容作者是不會(huì)講的。

    你可以把ta買(mǎi)來(lái)翻看翻看,然后放在書(shū)架上唬人。因?yàn)橹恍枰础禜ead First 設(shè)計(jì)模式》已經(jīng)讓你通達(dá)設(shè)計(jì)模式的境界。

  3. 《JavaScript設(shè)計(jì)模式》

    《JavaScript設(shè)計(jì)模式》
    《JavaScript設(shè)計(jì)模式》

    Web應(yīng)用取代桌面程序的時(shí)代已經(jīng)到來(lái)!作為Web前端的核心技術(shù),JavaScript的重要性不言而喻,它有望成為下一代統(tǒng)治性程序語(yǔ)言。但由于業(yè)界長(zhǎng)期的誤解和濫用,也有不少人仍然對(duì)此半信半疑。那么,JavaScript到底能否當(dāng)此大任呢? 本書(shū)中,Google和Yahoo公司的兩位資深Web專家對(duì)此給出了擲地有聲的肯定回答。作者針對(duì)常見(jiàn)的開(kāi)發(fā)任務(wù),從YUI等實(shí)戰(zhàn)代碼中取材,提供了專家級(jí)的解決方案,不僅透徹剖析了JavaScript中的面向?qū)ο缶幊獭6疑钊胩接懥巳绾斡肑avaScript實(shí)現(xiàn)以前只在服務(wù)器端應(yīng)用的設(shè)計(jì)模式。如何根據(jù)實(shí)際場(chǎng)景選擇恰當(dāng)?shù)脑O(shè)計(jì)模式,開(kāi)發(fā)出高質(zhì)量的企業(yè)級(jí)代碼。本書(shū)充分證明:JavaScript不僅毫不遜色于其他高級(jí)語(yǔ)言,已經(jīng)是一種成熟且強(qiáng)大的面向?qū)ο笳Z(yǔ)言。而且還擁有Java和C++等語(yǔ)言不具備的面向未來(lái)的特性,因此更加靈活、更富于表現(xiàn)力?!o(wú)論是前端工程師-還是服務(wù)器端程序員,通過(guò)本書(shū)都將使自己的JavaScript功力提升到前所未有的高度。

    Google的工程師聯(lián)合Yahoo工程師的著作,JavaScript版本的設(shè)計(jì)模式,講解非常精彩。

    不過(guò)我懷疑市面上是否能夠買(mǎi)到,當(dāng)初我是搞了個(gè)打印版本。如果你能搞到一本,那么對(duì)于JavaScript的理解將會(huì)至上一個(gè)臺(tái)階。

IV 你需要閱讀的JavaScript書(shū)籍

萬(wàn)丈高樓平地起,JavaScript功力不夠?
那么你的Node.js編碼過(guò)程將會(huì)非常受挫。
因此,系統(tǒng)地學(xué)習(xí)JavaScript是非常必要的。

  1. 《JavaScript高級(jí)程序設(shè)計(jì)》

    《JavaScript高級(jí)程序設(shè)計(jì)》
    《JavaScript高級(jí)程序設(shè)計(jì)》

    《JavaScript高級(jí)程序設(shè)計(jì)(第3版)》是JavaScript超級(jí)暢銷書(shū)的最新版。ECMAScript 5和HTML5在標(biāo)準(zhǔn)之爭(zhēng)中雙雙勝出,使大量專有實(shí)現(xiàn)和客戶端擴(kuò)展正式進(jìn)入規(guī)范,同時(shí)也為JavaScript增添了很多適應(yīng)未來(lái)發(fā)展的新特性?!禞avaScript高級(jí)程序設(shè)計(jì)(第3版)》這一版除增加5章全新內(nèi)容外,其他章節(jié)也有較大幅度的增補(bǔ)和修訂,新內(nèi)容篇幅約占三分之一。全書(shū)從JavaScript語(yǔ)言實(shí)現(xiàn)的各個(gè)組成部分——語(yǔ)言核心、DOM、BOM、事件模型講起,深入淺出地探討了面向?qū)ο缶幊?、Ajax與Comet服務(wù)器端通信,HTML5表單、媒體、Canvas(包括WebGL)及Web Workers、地理定位、跨文檔傳遞消息、客戶端存儲(chǔ)(包括IndexedDB)等新API,還介紹了離線應(yīng)用和與維護(hù)、性能、部署相關(guān)的最佳開(kāi)發(fā)實(shí)踐?!禞avaScript高級(jí)程序設(shè)計(jì)(第3版)》附錄展望了未來(lái)的API和ECMAScript Harmony規(guī)范。

    “如果你像我一樣,想學(xué)習(xí)或者熟練掌握今天最熱門(mén)的Web開(kāi)發(fā)技術(shù),《JavaScript高級(jí)程序設(shè)計(jì)》是一個(gè)絕佳的起點(diǎn),適合在所有Ajax圖書(shū)之前閱讀?!?br> —— J.Ambrose Little Microsoft MVP

    “《JavaScript高級(jí)程序設(shè)計(jì)》作者顯然非常了解讀者的需要,落筆切中要害,行文信息密集.單單對(duì)客戶端通信、Web服務(wù)、正則表達(dá)式、DOM、XML處理等現(xiàn)代JavaScrpt技術(shù)的詳細(xì)講解,就已經(jīng)物超所值。”
    —— JavaScriptkit.com

    JavaScript的編程圣經(jīng),Yahoo程序員作品。目前已經(jīng)是第3?版了。

    基礎(chǔ)語(yǔ)法,面向?qū)ο?,柯里化,高?jí)函數(shù),定時(shí)器節(jié)流,Document,XML,JSON,...應(yīng)有盡有。書(shū)有600多頁(yè)厚度,然而講解的非常簡(jiǎn)單細(xì)致,足見(jiàn)作者的心思細(xì)膩和思維伶俐。

    學(xué)JavaScript買(mǎi)此書(shū)就對(duì)了!

  2. 《編寫(xiě)可維護(hù)的JavaScript》

    《編寫(xiě)可維護(hù)的JavaScript》
    《編寫(xiě)可維護(hù)的JavaScript》

    本書(shū)是一本教你寫(xiě)出具有前瞻性的JavaScirpt代碼的完全手冊(cè),在團(tuán)隊(duì)作戰(zhàn)中特別有用。
    —— YUI工程師 Ryan Grove,Yahoo!

    作者將他十多年工作經(jīng)驗(yàn)的精華部分濃縮至這本通俗易讀的書(shū)中。我建議每個(gè)開(kāi)發(fā)工程師和在校學(xué)生盡早閱讀本書(shū)。不管你有多少經(jīng)驗(yàn),本書(shū)中的每一頁(yè)內(nèi)容都會(huì)讓你變得更加優(yōu)秀且倍受大家歡迎。
    —— Web設(shè)計(jì)師兼Web開(kāi)發(fā)人員 Lea Verou

    這是一本前端工程師的指南,指明了在編碼過(guò)程需要注意的方方面面。提高可維護(hù)性是一個(gè)非常大的話題,而這本書(shū),是一個(gè)非常不錯(cuò)的起點(diǎn)。
    —— 支付寶Web前端工程師 王保平(玉伯)

    與上面的書(shū)籍同一個(gè)作者。這本書(shū)側(cè)重介紹工程化的JavaScript,全面細(xì)致的講解了實(shí)際項(xiàng)目如何解決JavaScript編程。包括注釋,模板引擎,配置文件,編譯預(yù)編譯,UI設(shè)計(jì),兼容性,文件合并壓縮,自動(dòng)化測(cè)試,版本構(gòu)建...

  3. 《JavaScript權(quán)威指南》

    《JavaScript權(quán)威指南》
    《JavaScript權(quán)威指南》

    從1996年以來(lái),本書(shū)已經(jīng)成為JavaScript程序員心中的《圣經(jīng)》。該書(shū)已經(jīng)印刷了50多萬(wàn)冊(cè),Web開(kāi)發(fā)人員對(duì)它如是評(píng)價(jià):“本書(shū)是JavaScript程序員的必備參考……內(nèi)容組織得很好,而且非常詳細(xì)?!?br> —— Brendan Eich,JavaScript之父,Mozilla CTO

    “我從本書(shū)學(xué)到的內(nèi)容直接影響到我的職業(yè)生涯?!?br> —— Andrew Hedges,Tapulous公司游戲工程師

    “本書(shū)教會(huì)了我JavaScript?!?br> —— Tom Robinson,280 North的創(chuàng)始人,Cappuccion的合作創(chuàng)始人

    “通過(guò)閱讀本書(shū),我能全面地掌握J(rèn)avaScript這門(mén)語(yǔ)言,本書(shū)讓我受益匪淺?!?br> —— J.Chris Anderson,CouchBase的創(chuàng)始人,Apache CouchDB委員會(huì)成員,《CouchDB:The Definitive Guide》一書(shū)的作者

    “如果讓我來(lái)推薦一本學(xué)習(xí)JavaScript的最佳書(shū)籍,我一定會(huì)推薦本書(shū)?!?br> —— Rey Bango,微軟客戶端Web社區(qū)項(xiàng)目主管和jQuery團(tuán)隊(duì)成員

    然而,作為一個(gè)反復(fù)讀了3次以上的親身體驗(yàn)者,我認(rèn)為此書(shū)寫(xiě)的很差,非常之差:

    • 大百科
    • 書(shū)很厚
    • 書(shū)很貴
    • 每一章作者都沒(méi)有講清楚所要解決的問(wèn)題

    要說(shuō)書(shū)中優(yōu)秀的地方,也就是關(guān)于函數(shù)式設(shè)計(jì)和子集這兩部分了,如果你想了解一些函數(shù)式和算法的東西,看一看這兩章的內(nèi)容。

  4. 《JavaScript經(jīng)典實(shí)例》

    《JavaScript經(jīng)典實(shí)例》
    《JavaScript經(jīng)典實(shí)例》

    《JavaScript經(jīng)典實(shí)例》各節(jié)中的完整代碼解決了常見(jiàn)的編程問(wèn)題,并且給出了在任何瀏覽器中構(gòu)建Web應(yīng)用程序的技術(shù)。只需要將這些代碼示例復(fù)制并粘貼到你自己的項(xiàng)目中就行了,可以快速完成工作,并且在此過(guò)程中學(xué)習(xí)JavaScript的很多知識(shí)。你還將學(xué)習(xí)如何利用ECMAScript5和HTML5中的最新功能,包括新的跨域掛件通信技術(shù)、HTML5的video和audio元素,以及繪制畫(huà)布。《JavaScript經(jīng)典實(shí)例》中一些章節(jié)介紹了如何將這些技術(shù)與JavaScript一起使用,構(gòu)建高品質(zhì)的應(yīng)用程序界面。

    你可以把此書(shū)當(dāng)成一個(gè)工具參考書(shū),當(dāng)你有問(wèn)題無(wú)法解決時(shí),可以到書(shū)中目錄搜尋以下,也許能找到你需要的東西。包括正則表達(dá)式,循環(huán),事件,瀏覽器處理,表單訪問(wèn),...

  5. 《基于MVC的JavaScript Web富應(yīng)用開(kāi)發(fā)》

    《基于MVC的JavaScript Web富應(yīng)用開(kāi)發(fā)》
    《基于MVC的JavaScript Web富應(yīng)用開(kāi)發(fā)》

    《基于MVC的JavaScript Web富應(yīng)用開(kāi)發(fā)》所涵蓋的知識(shí)點(diǎn)非常全面,從Mvc的基本理論到網(wǎng)絡(luò)協(xié)議、從模塊解耦到異步編程模型、從HTML5/CSS3到NodeJS、從軟件測(cè)試到部署調(diào)試,對(duì)于很多前端工程師來(lái)說(shuō),這些知識(shí)正是突破自己的瓶頸所亟需的。《基于MVC的JavaScript Web富應(yīng)用開(kāi)發(fā)》將專注于講述如何構(gòu)建“優(yōu)雅又不失高水準(zhǔn)”(state of the art)的JavaScript應(yīng)用,包括軟件架構(gòu)、模板引擎、框架和庫(kù)、同服務(wù)器的消息通信等內(nèi)容。書(shū)中同樣提供了大量的示例代碼,可以幫助你更深入地理解很多重要的概念。除此之外,作者在MVC和架構(gòu)方面的很多觀點(diǎn)都很有啟發(fā)性,即使你不是一名JavaScript程序員,讀完《基于MVC的JavaScript Web富應(yīng)用開(kāi)發(fā)》后也會(huì)受益匪淺。

    “強(qiáng)烈向讀者推薦此書(shū),它將會(huì)教你如何構(gòu)建先進(jìn)的富應(yīng)用程序,書(shū)中給出的很多優(yōu)秀的工具和最佳實(shí)踐都是很多程序員和工程師在工作中亟需的。我已經(jīng)記不起向多少人推薦過(guò)這本書(shū)了?!?br> —— Addy Osmani 美國(guó)在線JavaScript工程師

    這本書(shū)可以讓你全面了解編寫(xiě)瀏覽器客戶端的知識(shí),而且書(shū)中使用了MVC和許多設(shè)計(jì)模式的內(nèi)容。如果你偏愛(ài)面向?qū)ο?,這本書(shū)會(huì)比較適合閱讀。

    另外,這本書(shū)中的許多實(shí)例都介紹了一些很有價(jià)值很實(shí)用的編碼方法。

V JavaScript 九陰真經(jīng)

當(dāng)你想要JavaScript技巧通往更神秘的境地時(shí),那么下面的兩本《九陰真經(jīng)》就不能錯(cuò)過(guò)。

  1. 《JavaScript語(yǔ)言精粹》

    《JavaScript語(yǔ)言精粹》
    《JavaScript語(yǔ)言精粹》

    JavaScript曾是“世界上最被誤解的語(yǔ)言”,因?yàn)樗鼡?dān)負(fù)太多的特性,包括糟糕的交互和失敗的設(shè)計(jì),但隨著Ajax的到來(lái),JavaScript“從最受誤解的編程語(yǔ)言演變?yōu)樽盍餍械恼Z(yǔ)言”,這除了幸運(yùn)之外,也證明了它其實(shí)是一門(mén)優(yōu)秀的語(yǔ)言。Douglas Crockford在本書(shū)中剝開(kāi)了JavaScript沾污的外衣,抽離出一個(gè)具有更好可靠性、可讀性和可維護(hù)性的JavaScript子集,讓你看到一門(mén)優(yōu)稚的、輕量級(jí)的和非常富有表現(xiàn)力的語(yǔ)言。作者從語(yǔ)法、對(duì)象、函數(shù)、繼承、數(shù)組、正則表達(dá)式、方法、樣式和優(yōu)美的特性這9個(gè)方面來(lái)呈現(xiàn)這門(mén)語(yǔ)言真正的精華部分,通過(guò)它們完全可以構(gòu)建出優(yōu)雅高效的代碼。作者還通過(guò)附錄列出了這門(mén)語(yǔ)言的糟粕和雞肋部分,且告訴你如何避免它們。最后還介紹了JSLint,通過(guò)它的檢驗(yàn),能有效地保障我們的代碼品質(zhì)。

    這是一本介紹JavaScript語(yǔ)言本質(zhì)的權(quán)威書(shū)籍,值得任何正在或準(zhǔn)備從事JavaScript開(kāi)發(fā)的人閱讀,并且需要反復(fù)閱讀。學(xué)習(xí)、理解,實(shí)踐大師的思想,我們才可能站在巨人的肩上,才有機(jī)會(huì)超越大師,這本《JavaScript語(yǔ)言精粹》就是開(kāi)始。

    天下武學(xué),唯我獨(dú)尊。

    想了解JavaScript的真正奧秘?那么你必須擁有此書(shū)。

    JSON、JSLint、JSMin和ADSafe的作者,ECMAScript標(biāo)準(zhǔn)委員會(huì)的制定者之一,而且多次在ECMAScript規(guī)范制定中起到關(guān)鍵作用,被JavaScript之父Brendan Eich稱為JavaScript的Yoda。

    JavaScript中的糟粕和精華,模塊,閉包,遞歸,柯里化,記憶,原型,...各種內(nèi)功心法,大力丸藥房,奇招妙手,你都可以獲得深入的了解。

    而且附帶json_parse()源碼。

  2. 《JavaScript編程精解》

    《JavaScript編程精解》
    《JavaScript編程精解》

    編程原理與運(yùn)用規(guī)則的簡(jiǎn)練、完美融合。我喜歡游戲式的程序開(kāi)發(fā)教程。本書(shū)再次點(diǎn)燃了我學(xué)習(xí)編程的熱情。對(duì)了,是JavaScript!
    —— Brendan Eich,JavaScript之父

    因?yàn)檫@本書(shū),我成為了更棒的架構(gòu)師、作家、咨詢師和開(kāi)發(fā)者。
    —— Angus Croll,Twitter開(kāi)發(fā)者

    如果你決定只買(mǎi)一本有關(guān)JavaScript的書(shū),那么就應(yīng)是Marijn Haverbeke的這本書(shū)。
    —— Joey deVilla,Global Nerdy

    本書(shū)不僅是學(xué)習(xí)JavaScript最棒的教材之一,也是通過(guò)學(xué)習(xí)JavaScript進(jìn)而學(xué)習(xí)現(xiàn)代編程的優(yōu)秀圖書(shū)。當(dāng)有人問(wèn)我如何學(xué)好JavaScript時(shí),我會(huì)推薦這本書(shū)。
    —— Chris Williams,美國(guó)JSConf組織者

    我讀過(guò)的最棒的JavaScript書(shū)籍之一。
    —— Rey Bango,微軟Client-Web社區(qū)項(xiàng)目經(jīng)理和jQuery團(tuán)隊(duì)成員

    這本書(shū)對(duì)編程基本原理的詳述以及對(duì)棧和環(huán)境等概念的解釋非常到位。注重細(xì)節(jié)使本書(shū)從其他的JavaScript書(shū)中脫穎而出。
    —— Designorati

    如果你沒(méi)有聽(tīng)說(shuō)過(guò)CodeMirror,那就說(shuō)明你的編程功底恐怕還有待提高?,F(xiàn)在,許多大名鼎鼎的代碼編輯器都內(nèi)置了CodeMirror,作為代碼高亮以及文本操作的程序庫(kù)。許多流行編輯器都內(nèi)置了CodeMirror,甚至現(xiàn)在流行的Markdown語(yǔ)法在線編輯器。

    此書(shū)作者就是CodeMirror的作者,編程功底無(wú)話可說(shuō)。

    函數(shù)式,面向?qū)ο蟮谋举|(zhì)是什么?這本書(shū)會(huì)給出一個(gè)深刻的解釋。最有意思的是,本書(shū)每一個(gè)章節(jié)都有一個(gè)謎題一樣的任務(wù),作者一步一步的使用精深的JavaScript功力,為大家一層層的解答各個(gè)謎題,并且過(guò)程清晰簡(jiǎn)明。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Node.js是目前非常火熱的技術(shù),但是它的誕生經(jīng)歷卻很奇特。 眾所周知,在Netscape設(shè)計(jì)出JavaScri...
    Myselfyan閱讀 4,205評(píng)論 2 58
  • Node.js是目前非?;馃岬募夹g(shù),但是它的誕生經(jīng)歷卻很奇特。 眾所周知,在Netscape設(shè)計(jì)出JavaScri...
    w_zhuan閱讀 3,737評(píng)論 2 41
  • 當(dāng)小容對(duì)陳末說(shuō),你相愛(ài)就可以而我合適最重要,看到這一幕,你哭了,你回過(guò)頭來(lái)對(duì)我說(shuō),是不是每個(gè)女孩到最后都會(huì)變成小容...
    暴暴貓的咖喱球閱讀 615評(píng)論 0 7
  • 堅(jiān)守本心、莫忘初衷。這是千百年來(lái)最難以執(zhí)行的事情。 因?yàn)檫@要我們戰(zhàn)勝我們很多的慾望,很多的當(dāng)下的利益,讓我們很不容...
    范韜閱讀 610評(píng)論 0 0
  • 今天上午9點(diǎn)半左右,我們改完了試卷,這就意味著我們已經(jīng)完滿地結(jié)束了2012——2013學(xué)年的教學(xué)任務(wù)。 這一年很忙...
    西瓜甜甜啦閱讀 555評(píng)論 3 25

友情鏈接更多精彩內(nèi)容