我如何看待 NodeJS

其實,這是篇推薦文,但推薦的角度和坊間很多人不一樣,所以這也是為什麼標題下『我如何看待 NodeJS』。

誠如大家所知,『NodeJS』原先被開發出來的目的,是為了解決 Web Server 效能的問題,其採用 Google Chrome/Chromium 使用的『Google V8 Javascript Engine』做為直譯器引擎。最特別的是,NodeJS 讓開發者完全可以用 JavaScript 來開發整個伺服器端的所有程式,這意味你可以不用再使用 Python、PHP、Perl、Ruby、ASP 等其他的語言,只需要學會 JavaScript 就可以將網站通通搞定。也因為幾乎所有的 Web 開發者都熟悉 JavaScript,NodeJS 很理所當然的成為一個 Web 圈內受很多人擁護的新技術,在各大 Cloud Hosting 也都開始有支援。

當然不只是如此, NodeJS 也吸收了各方面的經驗,提供應用程式框架(Framework)讓開發者可以快速開發。平心而論,比其他的語言更能兼固快速開發和效能的問題。

談到這裡,還是僅止於坊間多數人介紹的內容,筆者認為,如果只是這樣,也未免小覻了 NodeJS。

事實上,NodeJS 就是 Original JavaScript Without Browser + Libraries,在舊有的 JavaScript 抽離瀏覽器後,再上加上更多 System-level Library 的支援。這讓我們可以重新看待 JavaScript 這個語言,因為它不再只是限於『特定領域』使用,而是提升至『System Level』。

我們可以這樣認定:『JavaScript 已經可以和 Python 相提並論』。因此,使用 JavaScript 寫一支系統應用程式或是桌面應用程式,已經不再是夢,而是伸手可及。如果你有印像,HP WebOS 就是率先引入 NodeJS 的先行者,讓原本被視為 Web 技術的 JavaScript,跳出舊有框框,進入桌面系統的領域。

目前,NodeJS 仍持續發展中,許多函式庫支援也被慢慢的被實作出來。有時為了效能考量,我們也可以自己使用 C/C++ 為他開發更多 Library/Module。可以期待,未來 NodeJS 將會更為強大。

留言

這個網誌中的熱門文章

有趣的邏輯問題:是誰在說謊

Web 技術中的 Session 是什麼?

淺談 USB 通訊架構之定義(二)

淺談 USB 通訊架構之定義(一)

Reverse SSH Tunnel 反向打洞實錄