avatar

Nodejs 0.8 on the Edge!

nodejs 的開發小組在幾天前也正式釋出最新的實驗版本0.7.8,除了例行性的 bugfix 以及性能優化之外,可以偷偷發現幾個未來的新功能也悄悄放進來了 :p

有關新版號 0.8.x 的初步規劃,可以參考社群討論的文章所提到的內容:**v0.8 Roadmap**

裡面有提到幾項 0.8 中會做的改變及增加的功能: Change nodejs build tool from WAF to GYP

WAF 是目前 nodejs 中用來建構模組的工具,當你的 nodejs module 有包含到 C or C++之類需要編譯的動作的時候,你可以發現有個 wscript 的檔案,就是 node-waf 的設定檔,可以讓利用 npm 安裝模組時一併處理好編譯、建構的動作(不過其實我也沒寫過,可以參考一下強者的範例 XD)

不過這不是重點(喂!!

因為 nodejs 即將在 0.8 中從原有的 WAF 改為GYP,似乎 GYP 對於多平台有更好的兼容性,不過 GYP 的文件沒有 WAF 來的齊全 ,所以可能要參考一下一些教學文,可以協助上手 :p

目前 gyp 還沒有放進 node,想嘗鮮的話可以下載 master 自行編譯,或者先試著用node-gyp這個模組

Isolates 原本預計加入的功能,要把 child_process.fork()的行為改為 thread,而不是 process,希望可以讓 fork 的行為更有效率、減低資源的使用,不過後來影響的層面太大被移掉了,可能會移到未來的版本中

Domains Domain 應該算是 0.8 中相當重要的功能之一,不過現在我還有點搞不懂到底能拿來做甚麼(大誤)。目前從文件test case看來,有點像是透過同一個 domain 可以同時處理不同的 IO 行為,譬如 Error Handle,透過把事件加到同一個 domain 裡,當事件被觸發或是 error 的時候,domain 物件就會被呼叫,所以應該可以集中處理同一 domain 的事件。

不太確定有沒有誤會它的用法,不過目前沒有太多的範例,如果有錯誤的話麻煩指點我一下...0rz

Better allocator 這個是 windows 下的問題,基本上無視(誤

Addons 看起來是跟第一點提到的 GYP 有關連,要改善在不同平台上都能夠順利編譯出原生 module。目前有切出一個node-gyp的專案來處理這部份的問題(之後應該會 merge 進 node?? 不負責猜測 XD),有興趣也可以直接看那邊的範例及文件。

看到 node 的社群不斷向前邁進,參與者也增加不少的情況,實在是讓人熱血沸騰(無理由自嗨 xDD)既然看到預定功能已經放進 0.7 的分支中,看來 0.8 應該也在不遠處了 :p

PS: 順帶一提,npm 上的 modules 數量也已經超過 9000 個了!大賀!

WHAT!?!? 9000!?!!?! http://t.co/V9QQiDH1

— npm (@npmjs){' '} April 17, 2012

powered by WebMention.io

You can skeet this post or discuss it on BlueSky, the comments will show up here.
0Likes0Replies0Mentions

Be the first one to share this article!