node.js web 開發新模式

以往 Open Source 界的 web 開發模式比較普遍的模式是 lamp ,由 apache 提供穩定且強大的網頁伺服器,並由 PHP 提供一套簡單的直譯語言,可以簡單的存取資料庫,輸出 html,對一般初學者來說非常容易入手,而對於老手來說 PHP 也提供了不少的彈性來組織大型的應用程式。

但對於組織大型應用程式來說 PHP 還是有些不足的地方,不是每個開發數年的開發者都能輕鬆的設計出適合自己的模式,因此開放原始碼的框架開始乘著 RoR 的風吹到了 PHP 身上,Zend、CakePHP、CodeIgniter 族繁不即備載。

而這種模式與其他語言的開發類似,都將核心著重在程式面的框架,比較不會考慮 Web Server 的設計,一切都交給 apache 與系統管理員來調校(Java 非 jsp 模式的 Web 開發不太清楚)。

而 node.js 則是提供一個新的眼界,除了他本身是用熱門且具爭議的 JavaScript 作為開發語言,並用 Google V8 作為強大的後盾外,他把網頁開發的原本的 網頁伺服器 + 程式語言 原本被摩西切開的兩個世界,砸成一團,破天荒讓 JavaScript 來寫 Web Server,並同時擔任應用程式的使命。

其實在 Web 伺服器端也不算是給 JavaScript 來實做,只是先用 C + nonblocking 寫好了具有如 nginx 一樣特性的 Web 伺服器,而交由 JavaScript 來控制,只是將紅海的界線重新做區隔,並因而順便具有新世代網頁伺服器所需具有的特徵!

因此以往透過 PHP 不太可能做的事都變了,由於 PHP 的程式執行生命週期是由 Apache 來執行與決定的,因此一個程式往往不會執行太久,且每支程式的生命週期都是獨立的,不太會與其他程式互動共用變數等。而 node.js 則具備控制 Web 伺服器得能力,PHP 本來要共用變數可能都要透過 Dbus or shared memory 來做,在 node.js 的世界只是一個伺服器的變數而已呢~

在此變革之下,許多以往應用程式無法輕易達成的事,在這個新的世界,都變成有可能了,寫一個互動快,不需存取資料庫的聊天室、線上遊戲,都變成不需另外多慮技術細節的事了。

所以~在 node.js 所帶來的新面貌下,你有想到什麼在這種環境下,可以輕鬆作到,且具有革命性能夠改變以往使用習慣的新應用呢?這是我心中的 web 2.01 ~~~

為 node.js 換 logo 且往 windows 移植的里程碑做個紀錄…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *