1. 程式人生 > >《Node.js實戰(第2季)》試讀感想

《Node.js實戰(第2季)》試讀感想

看到這本書的目錄 立刻讓我精神抖擻 ,特別是“開發OAuth2認證伺服器”這個章節 ,上面描述的實現大致章節標題 比如用到了目前流行的restful api,因為之前 我也搞過oauth2 ,不過是用  Apache Oltu 整合shiro實現的 java版本的 OAuth2,對它的原理也有所瞭解  很好奇 node.js是如何實現的 ,是否能夠更加簡便更加高效的實現?拭目以待! 一直對 node.js久聞大名 不見其身,一直沒有時間去研究過這個技術,身為要往架構師發展的我 自然 是不會放過對它的學習。
    node.js的瞭解:就如同在瀏覽器中一樣,現在我們也可以在伺服器上執行 JavaScript ,從前端跨越到後端,這樣巨大的反差讓人難以想象,因為僅僅在幾年前 Javascript 還如同 Flash 或者 Java applet 那樣嵌入網頁在沙箱環境中執行。
Node.js 是谷歌 V8 引擎、libuv平臺抽象層 以及主體使用 Javscript 編寫的核心庫三者集合的一個包裝外殼。” 除此之外,值得注意的是,Node.js 的作者瑞恩·達爾 (Ryan Dahl) 的目標是建立具有實時推送能力的網站。在 Node.js 中,他給了開發者一個使用事件驅動來實現非同步開發的優秀解決方案。簡而言之:Node.js 在實時的 Web應用上採用了基於 WebSocket 的推送技術。這意味著什麼樣的革命性?Well,在經過了20多年的基於無狀態的請求-返機制的無狀態互動之後,我們終於有了實時的,雙向連線的web應用,客戶端和伺服器端都可以發起通訊,能夠自由地交換資料。與此形成鮮明對比的是傳統的 web響應模式,客戶端總是主動發起通訊而服務端被動返回。此外,這些都是基於執行在標準80埠上的開放Web元件(HTML、CSS和JS)。
看了上面的描述,身為一個開發工作五年多的java高階工程師真的是非常喜歡,在java中要實現雙向推送還真是一個麻煩的技術,像 socket netty come4j也不能完全勝任,如此這般像實現聊天系統應該是比較適合的技術選擇了!
Node.js 從來不是用於解決大規模計算問題而建立的。它的出現是為了解決大規模I/O 的問題,如果你專案需求中不包含CPU密集型操作,也不需要訪問任何阻塞的資源,那麼你就可以利用的 Node.js 的優點,盡情的享受快速、可擴充套件的網路應用。總之通過node.js可以做出很多很酷的應用,但是如果使用java來做 就實現起來比較複雜臃腫,而且效能也不怎麼好。