2012-10-30

SilkJS - 伺服端 Javascript 和 HTTP Server

阿舍猜,大概是因為 Netscape 釋出 Javascript 原始碼及 Goolge 提供開放原始碼的 V8 Javascript Engine 的原故,再加上 HTML5 的推波助瀾,近幾年來,Javascript 的解決方案不斷的推陳出新,從網頁端到伺服器端、從桌上電腦到行動裝置,都可以看到 Javascript 的身影,所以,最近就常常有幾會可以看到用 JS 結尾的新東西哩!而其中,最讓阿舍感到驚豔的,莫過於 node.js 了,特殊的非同步語法,可是讓阿舍又愛又恨哩!

credit SilkJS
而阿舍今天要介紹的這個 SilkJS node.js 類同,一樣也是連結 Google 家的 V8 Javascript Engine 搭配自建的程式庫來提供軟體開發功能,但是,SilkJS 不像 node.js 是一個與作業系統較無關且通用型的軟體開發平台,SilkJS 的設計,主要是用來讓開發人員更容易的存取和使用作業系統所提供的功能,因此,SilkJS 和作業系統的連結較深,目前是以  Ubuntu Linux 為主,但是,可適用在各種 Linux 發行版本和 Apple 的 OS X 作業系統。

SilkJSNode.js 一樣,內建就有提供 HTTP Server,而 SkillJS 的 HTTP Server 每秒可處理 20,000 左右的要求,遠比 Node.js 和 lighttpd 分別快上 10 倍和 1.5 倍左右,因此,號稱是最快的 HTTP Server,這個阿舍應該是可以理解的,因為 SilkJS 很可能是直接操作業系統的相關功能來完成工作的,當然會比在作業系統上執行的軟體來的快囉 ! 不過,和 node.js  提供的 HTTP Server 相似,開發人員要自行處理的事會比用 Apache Server 之類的伺服器來的多哩 !

還有,SilkJS 的 HTTPD 是有支援 CoffeeScript 的,因此,除了用 Javascript 來寫 SilkJS 的伺服器端程式之外,也是可以使用 CoffeeScript 來寫的哩!另外,要講的是,SilkJS 是開放原始碼的軟體,不過,它的授權卻是超有彈性的,只要從 OSI 許可的授權方式中,挑一種自己喜歡的來遵守就可以了哩 ! Cool !

雖然,因為 Node.js 和 SilkJS 實在有太多相似的地方,導致有不少人在比較 Node.js 和 SilkJS 那一個比較好、那一個比較適合哩! 不過,就阿舍看來,這兩者雖然在用途上可以十分相似,但是,阿舍倒是覺得 SilkJS 很適合用來取代 Perl 或 Python 來做為處理複雜自動化工作的腳本語言,因為 SilkJS 和作業系統有較好的黏著性哩!不過,這也可能限制了 SilkJS 普及的速度哩!

SilkJS 雖然一推出就是 1.0 版了,不過,相較於 node.js 已經累積的龐大社群資源,SilkJS 應該還要有一段路要走,就看後續有有更多的開發者願意投入,但是,不論如何,阿舍還是滿喜歡 SilkJS 的 “ implements a thin layer of "glue" to access the various operating system functions and functions of other useful libraries.” 想法的哩 !

喔! 對了,SilkJS 並不是採用 Async 架構,所以,也有人說  SilkJS 是同步版的 node.js,不過,應該是沒什麼關係,SilkJS 有特別解釋了一番 Sync 和  Async ,有興趣可以到這裡看看,改天阿舍有空再研究看看哩 !

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

2 則留言 :

Robert Lee 提到...

這個 SilkJS 看起來蠻有趣的!!

Arthur 提到...


是啊!應該是不錯玩的樣子哩 ! ^^-

張貼留言

歡迎留言提問和討論 .... 😁