AppJS Node.js
http://appjs.org/
https://github.com/appjs/appjs
https://github.com/appjs/appjs/wiki

Node.js アプリをコマンドラインからデスクトップアプリとして実行するAppJS を試してみました。HTML, CSS, JavaScript でアプリケーションが実装できて、Windows, Mac(32bit のみ), Linux(x86/x86_64) に対応しています。Unity のグローバルメニューにも対応していました。Node.js のバージョンはv0.8 系が良いようです。Linux x86_64 の環境でv0.9.9 ではうまく動作しませんでした。

  1. Node.js v0.8.19 のインストール
$ source ~/.nvm/nvm.sh
$ nvm install v0.8.19
  1. AppJS のインストール
$ source ~/.nvm/nvm.sh
$ nvm use v0.8.19
$ npm install -g appjs
  1. アプリケーションの準備
~/appjs/app.js
// load appjs

var appjs = require('appjs');

// serve static files from a directory
appjs.serveFilesFrom(__dirname + '/content');

// handle requests from the browser
appjs.router.post('/', function(request, response, next){
response.send('Hey! How are you ' + request.post('firstname'));
})

// create a window
var window = appjs.createWindow({
width: 640,
height: 460,
alpha: false,
});

// prepare the window when first created
window.on('create', function(){
console.log("Window Created");
// window.frame controls the desktop window
window.frame.show().center();
});

// the window is ready when the DOM is loaded
window.on('ready', function(){
console.log("Window Ready");
// directly interact with the DOM
window.process = process;
window.module = module;

window.addEventListener('keydown', function(e){
// show chrome devtools on f12 or commmand+option+j
if (e.keyIdentifier === 'F12' || e.keyCode === 74 && e.metaKey && e.altKey) {
window.frame.openDevTools();
}
});
});

// cleanup code when window is closed
window.on('close', function(){
console.log("Window Closed");
});
~/appjs/content/index.html
<!doctype html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<form action="/" method="POST">
<input name="firstname" type="text" placeholder="Firstname"/>
<input name="lastname" type="text" placeholder="Lastname"/>
<input type="submit"/>
</form>
</body>
</html>
  1. 実行
$ source ~/.nvm/nvm.sh
$ nvm use v0.8.19
$ export NODE_PATH=${NVM_PATH}_modules
$ cd ~/appjs/
$ node --harmony app.js

サンプルでは、[F12]キーにwindow.frame.openDevTools() をアサインしていて、キー押下により開発ツールウィンドウが開くようになっています。
Node.js devtool

EDIT:

サンプルのカスタマイズ

HelloWorld サンプルをカスタマイズしてみました。日本語表示、メニュー構成の変更、ファイルオープンダイアログ、lame/speaker パッケージを使ったMP3 の再生など。
hello world appjs
mp3 player node.js