天天看點

common.js node.js

引用:

前言:

早就聽說有用于本地程式設計的JavaScript架構,但總覺得是小打小鬧不成氣候,也沒有什麼實用價值。但自從CommonJS和NodeJS兩個項目的出現,JavaScript作為本地程式設計語言的這種特殊應用形式,才開始進入進入大衆的視野。 本文翻譯CommonJS首頁的介紹,說明什麼是CommonJS。 另外随着并行計算的普及,像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
  • Unit 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/​​

編者:千萬别小看作為背景應用的JavaScript,Palm的WebOS的開發計劃中就曾提到CommonJS和其擴充的JS API,另外幾乎所有的平台(包括智能手機平台和計算機平台都開始流程)都開始引入Web技術:比如說S60中的WRT,IPhone中的 WebWidget,Android平台上的WebWidget,還有Firefox直接用XML和CSS作界面用Javascript控制邏輯,甚至 Google的ChromeOS直接就是一個浏覽器作業系統。  我做個技術上的賭注:動态語言和靜态語言混合程式設計将會很流行(比如Android和PalmWebOS同時引入兩種SDK,QT直至 QTScript)。

繼續閱讀