自從CommonJS和NodeJS兩個專案的出現,JavaScript作為本地程式語言的這種特殊應用形式,才開始進入進入大眾的視野。 另外隨著平行計算的普及,像JavaScript這種函數式語言,由於其固有的易於進行平行計算的特性,將有更廣闊的應用前景。
JavaScript是一個強大物件導向語言,它有許多快速且有效率的解釋器。官方JavaScript標準定義的API是為了建立基於瀏覽器的應用程式。然而,並沒有定於一個用於更廣泛的應用程式的標準庫。
CommonJS API定義很多普通應用程式(主要指非瀏覽器的應用程式)所使用的API,從而填補了這個空白。它的終極目標是提供一個類似Python,Ruby和Java標準函式庫。這樣的話,開發者可以使用CommonJS API編寫應用程序,然後這些應用可以運行在不同的JavaScript解釋器和不同的主機環境中。在相容於CommonJS的系統中,你可以實用JavaScript程式開發:
伺服器端JavaScript應用程式
命令列工具
圖形介面應用程式
混合應用程式(如,Titanium或Adobe AIR)
NodeJS和CommonJS之間的關係
CommonJS是一種規範,NodeJS是這種規範的實現。 CommonJS是一個不斷發展的規範,計劃將包含以下部分:
Modules
Binary strings and buffers
Charset encodings
Binary, buffered, and textual input and output (io) streams
System process arguments, environment, and streams
File system interface
Socket streams
#t test test assertions, running, and reporting
Web server gateway interface, JSGI
Local and remote packages and package management
具體每個子規範的定制進度請查看官方網站的說明:http://commonjs.org/specs/
CommonJS有很多實現,其中不乏很多大名鼎鼎的項目,比如說:Apache的CouchDB和node.js等。但這些項目大 部分只實現了CommonJS的部分規格。具體的項目和實作部分請參考官方網站的說明:http://commonjs.org/impl/
tips:千萬別小看作為後台應用的JavaScript,Palm的WebOS的開發計畫中就曾提到CommonJS和其擴充的JS API,另外幾乎所有的平台(包括智慧型手機平台和電腦平台都開始流程)都開始引入Web技術:比如說S60中的WRT,IPhone中的WebWidget ,Android平台上的WebWidget,還有Firefox直接用XML和CSS作介面用Javascript控制邏輯,甚至Google的ChromeOS直接就是一個瀏覽器作業系統。 我做個技術上的賭注:動態語言和靜態語言混合程式設計將會很流行(例如Android和PalmWebOS同時引進兩種SDK,QT直至 QTScript)。
以上是commonjs是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!