Hi,你們好!我在這裏很高興地宣佈,在過去20天裏,ShadowNode 伴隨着XX須要,已經悄悄地增長了不少新功能,而且已經在這不到一個月的時間,迭代了N個小版本了(目前版本管理還不是特別規範了),主要包含以下:node
我也在今天抽空增長了在 TravisCI 的自動構建,在 ShadowNode 下個版本(v0.8.0)將會着手優化內存和性能方面的問題,以及 100% 兼容 N-API 的寫法。內置模塊以及社區兼容性將暫時不會再增長更多特性。git
另外,今天將放出一個彩蛋,ShadowNode 的破殼記分享給你們。github
之因此會產出 ShadowNode 的緣由徹底是由於以前大量基於 Node.js 在設備端開發的應用程序,在移植到一些更低端的平臺時,遇到的最大問題就是內存,想過不少辦法包括:網絡
上述的兩個方案,在我看來都是可行性不錯的,不過前者對 V8 以及相關 API 的工做量依然很大,後者我我的卻是至關感興趣去實現,不過這樣會失去腳本語言的優點,再加上增長了交叉編譯的門檻,得不償失。架構
最終機緣巧合之下,我找到了三星開源的 IoT.js,當時發現這個項目時,看到文檔的時候就已經開心得想跳起來了。IoT.js 已經作了至關一部分重要的工做了,包括增長 CommonJS 模塊系統、文件系統模塊、網絡模塊、UDP 模塊、Buffer 還有最重要的 Stream 類族,並且整個構建系統也至關簡單易懂,基於這些工做,我才能夠輕鬆得往完成目前 ShadowNode 的工做。curl
然而在慢慢遷移的過程當中,有一些觀點與 IoT.js 的開發團隊是不一樣的:模塊化
好,以上其實就是 ShadowNode 的一則短小的開發故事,若是你從中以爲有趣,不妨也加入到 ShadowNode 開發社區中來,點擊 Rokid/ShadowNode,歡迎 Star 🌟函數
下次將分享在開發 ShadowNode 過程當中,對於 NPM 以及模塊化的一些見解重塑,敬請期待!性能