標籤:智能手機 webos androi javascrip 後台應用 伺服器 定義 href tle
今天看到一個關於commonJs和nodeJs的簡介~
前言:
早就聽說有用於本地編程的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)。
什麼是CommonJS?