去年くらいに一回ちらっと見た覚えがあるけども、
何事も遅すぎることはないという精神で。
なにこれ
Call all Node.js modules directly from DOM and enable a new way of writing applications with all Web technologies.
DOMからNode.jsのモジュールも使えるし、もうWebでできることはなんでも使ってアプリが作れるんだぜ!的な?
デスクトップアプリが作れるやつで、Node.jsのモジュールがそのまま動いて、Windows/Mac/Linuxとかプラットフォーム気にせず配布できる形でアウトプットできるすごいやつ。
はじめかた
Macな人用。
ダウンロード & インストール
現時点での最新はv0.9.2だそうな。
ダウンロードして解凍したら、node-webkit.appってのがあるので、
いつもどおりApplicationsにでもいれておく。
自分で作るときの流れ
めっちゃ簡単。
- index.htmlつくる
- package.jsonつくる
- zipで固める
だけ。
一応コマンドもメモる。
zip sample.nw index.html package.json
そしたらsample.nwが実行できるようになる。
.nwなファイルをダブルクリックで起動するもよし、パスを通してコマンドから起動するもよし。
サンプル
動いてるマシンのロードアベレージとかメモリ使用量とかを表示するだけのアプリ。
気になる方はcloneしてzipに圧縮してみてください。
いちおうdistディレクトリに圧縮済みのもいれときました。
ハマったとこ
loadshみたくNodeでもブラウザでも動く!みたいなライブラリは、使う時にご注意。
window._ でアクセスできないので、require('lodash') しないとダメ。
あと、デバッグが地味に面倒なので、なんかタスク化したほうがええかも。
rm hoge.nw && zip hoge.nw index.html package.json src/* && nw hoge.nw
みたいなことをファイル更新する度にしないといけなくなるので・・。
ブコメみて気付いたのですが、わざわざ↑みたいに毎回zipしなくても、
nw ./path/to/package.json/dir ってすればOKでした。
使い道
色々と考えてみたものの、「配布できる」ってのが一番のメリットな気がする。
個人でサーバーでも持ってればそこでホストすれば良いかもやけど、それがなかったら、とか。
あとは、いわゆるデスクトップアプリ作るときに、Webのスキルがそのまま使えるのはデカい。
ありがたや!
ローカルでNodeのモジュールが使えるってのはまあメリットっていうより、
デスクトップアプリ作るにあたり、選択肢の土俵に立てた感。
fsモジュールとか使えばファイラーとか作れるから、カスタマイズできる自分だけのFinderを作ったりはできるかも。
Win/Mac入り乱れる社内で、なんか共通で使えたら嬉しいツールとかコレで作ると幸せになれそう。