##前言javascript
前言內容很少,開篇總述了一下。做者把Node.js比喻成「遊戲的改變者」(game-changer),改變了進十年來的web開發模式。這話說的有點兒大,更像是爲了吸引讀者看下去。我以爲Node.js的出現的確改變了不少東西,讓開發變得更有趣,讓javascript有了更多的想象空間,不過距離改變世界,應該還有不少路要走,不如說Node.js給咱們帶來了一個方向,這個方向就是做者在下面闡述的三點:java
###第1、javascript的革命git
Node.js讓javascript向後端邁進,並且這一步邁的還比較成功,面向對象和函數式的混合編程在後端表現不賴,還帶來了不少新鮮點,這裏提到了兩點:單語言應用和先後端共享代碼。程序員
在Node.js出現以前,一個程序員想憑藉一種語言先後通吃是不行的,即使是王者般的java亦或者宗師般的C++,這就給一個更偏向於作應用的程序員很大的負擔,而Node.js的出現,給了你們實現了這個幻想,者也是我最初決定投身這個領域的一個源動力。要知道有些程序員腦子裏有極客思惟,喜歡單打獨鬥,若是能夠利用更少的工做量創造出更強大的東西,這些人會很高興。憑藉着javascript的大量程序員基礎,這些人很快的接受js在後端的應用。固然,js的一些獨有特色能夠被叫作優勢,在某些時候,也會變成缺點。說的哲學一點,咱們不會造出來萬能的東西,Node.js更不是。github
###第2、單線程與異步結構web
做者講到,這兩個特色帶來了性能與可擴展性的同時,還帶來了對併發和並行開發方法的改變。隊列代替了互斥鎖,回調和事件代替了多線程,因果關係(causality)代替了同步。npm
對於js的這種異步模式,褒貶不一,一些人以爲這帶來了性能的提升,一些人以爲代碼難以控制,是啊,世間安得雙全法,因此這些東西還要慢慢的探究纔能有答案,或者是更好的解決方法。編程
###第3、npmjson
這點做者和我想到一起去了,npm也是我愛上Node.js的很重要的一個緣由,他也將這個東西認爲是最重要的一個方面。npm,一個包管理器,他擁有着龐大而快速增加的模塊庫。它的文化是簡潔、實用、極端模塊化,事實也是這樣的。後端
我想每個用過npm的人都會愛上它,它給我帶來了一種小時候拼積木的感受。它的項目目錄組織方式頗有調理,讓你感受項目就是項目,不存在祕密,是裏面有不少小模塊的項目,而這些小模塊都頗有條理的在那裏,也許模塊裏還有模塊,不過仍是頗有調理的在它改在的位置。還有package.json這個文件的出現,是一份很明確的說明書,即便你拿到的是別人的項目,看着這份說明書,也能組裝起來。
###關於做者
上面那位就是做者,叫作Mario Casciaro,之前在IBM,如今在一家叫作d4h的公司(我也沒去深究這個公司是幹啥的~)
他的github: https://github.com/mariocasciaro (他最著名的項目叫作scatter,沒研究過) 他的twitter: https://twitter.com/mariocasciaro 他的主頁:http://www.mariocasciaro.me/ (主頁裏沒啥東西)s