2012年10月23日 星期二

jsdx-power 讓你使用 JavaScript 實現電源管理

Standard
既然會成立新創公司,總有些自己的想法,也期望做一些和其他人不一樣的事,對我們而言,改變世界事小,留下長久價值更重要。也許你有點印象,筆者今年度到處給予的 Talk,多半都是與 Node.js 相關,也透漏許多正在執行的計劃。因此,有些人可能聽過筆者提及『JSDX Framework』,這是『Mandice』的長期計劃,也是將 JavaScript 落實在系統、桌面和嵌入式裝置的解決方案。

由於 JSDX 是一個開放原始碼專案,市場上也已經有一些產品和公司專案導入使用,但因為合約的關係,我不能透漏太多細節,所以本文將只討論些許技術細節。說到這,也許你還是沒什麼概念,但若是真要舉出最直接與其相關的專案,就是今年 8 月,於 COSCUP 一場議程中所公開的『JUICE Desktop Environment』(簡報檔詳見舊文:【COSCUP 2012】閉幕!簡報釋出!),完全以 JavaScript 實作的 3D 桌面環境。

JSDX 包括許多元件,從 GUI Toolkit(使用者界面)、Multimedia Player(多媒體播放)、Network Manager(網路管理)到 Sound Manager(聲音管理)等,提供了各類系統控制或硬體相關的 APIs。程式開發者只需要會 JavaScript 語言,就可以使用這些 JSDX 所提供的 APIs ,開發各類應用程式或系統程式。

回應本文標題,JSDX 如果可以拿來開發桌面環境,當然也有電源管理相關的 APIs 可使用。所以在這邊我們要討論的元件是『jsdx-power』,你可以在 github 上取的他的 Source Code,亦或是直接透過 npm 安裝。
npm install jsdx-power

這邊簡單示範如何使用 JavaScript 透過『jsdx-power』命令作業系統休眠:
var Power = require('jsdx-power');

var power = new Power;

power.init(function() {
 power.suspend();
});

後記

JUICE DE 的 juice-panel 電量顯示,就是使用了 jsdx-power,有興趣的人可以參考其 Source Code。