NW.jsとはWEBページを作成する技術(HTMLとJavaScript) でクロスプラットフォームのデスクトップアプリケーションを作成する事ができるフレームワークです。
オープンソースのウェブブラウザのChromium(クロミウム)とjavascriptをサーバサイドでも稼働可能とするNode.jsをベースに作成されています。
実際のNW.jsの説明は、省きますが少し使用した時、はまった事を記載します。 調べればすぐ解決法が見つかり然程はまった訳ではありませんが、備忘録代わりに
MP4動画再生に関して
<videoタグ>を用いた動画再生が、通常のブラウザーでは問題無く再生できますが 何故か、NW.jsで実行すると再生されません。 少し調べるてみると、nw.js のサポートする音声や動画のフォーマットは同梱されている FFmpeg モジュールによって決まる。そして nw.js に標準添付されているものは MP3 や MP4 をサポートしていない。FFmpeg モジュールで MP3 や MP4 を有効にすると GPL ライセンスの Copyleft が適用されるのだが、nw.js は MIT ライセンスで配布するため意図的に外しているそうだ。 もしサポートする場合は、FFmpeg モジュールを置き換える必要がある。で記載されているように、NW.jsに同梱されているffmegモジュールはmp4動画を再生できませんが
https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases からバイナリ―ファイルも配布されているのでダウンロードして置き換えるだけで使えるようになります。
requireに関して
requireして使用する3rdパーティのnodeモジュールはアプリフォルダーにインストールする必要がある。npm run devでテストすると問題ありませんが、npm run buildでビルドしたアプリを実行すると、 アプリフォルダーに使用するモジュールをインストールしていないとエラーになります。
まー当然なのですが、
$ cd /path/to/your/app
$ npm install async
サンプルソースもnw.js更に、node.jsも加えればたくさん出てきます。
簡単にちょっとしたアプリを作成できるので結構便利です。