シーオーリポーツビュアーElectron版を試作してみた

パッケージ製品開発担当の大です。こんにちは。

今回はElectronの話題です。Atomエディタを始めとして、Visual Studio CodeSlackにも採用されるなど、今年はElectronがずいぶん話題になりましたね。最近ではMac App Store向けのビルドもサポートされたり、Windows/Macでアプリの自動更新が可能になったりと(参照)進化もめざましいです。今後が楽しみですね。

HOSのシーオーリポーツビュアーのマルチプラットフォーム担当はいまのところJavaFX版なんですが、ちょっと浮気してElectronにも手を出してみました。

Mac版

諸事情によりコード晒すのは無しでスクリーンショットのみでお送りします。

Mac版

Mac版(クリックで拡大)

ツールバーはダミーです。こんな感じになるという雰囲気だけ。
Photonというライブラリを使用しています。

メニュー

メニュー(クリックで拡大)

Mac OSの場合はメニューは画面上部のメニューバーに表示されます。

ファイルダイアログ

ファイルダイアログ(クリックで拡大)

ファイルダイアログはOSネイティブのものが開きます。

ドックアイコン

ドックアイコン(クリックで拡大)

ドックのアイコンの右クリックメニューに、最近開いたファイルが表示されます。

Windows版

Windows版

Windows版(クリックで拡大)

Windowsではウィンドウにメニューがつきます。メニューの項目をOSごとに変えるのもそんなに難しくはないですね。

ツールバーは、あんまりWindowsにそぐわない感じがします。Windows向けにリボンUIみたいなのとかあると良さげですね(ちゃんと探してないですが)。

Linux版

Linux版

Linux版(クリックで拡大)

Ubuntu 14.04でも動かしてみました。ツールバーはわりと合ってる感じですね。ランチャのアイコンも悪くない感じです。

感想

(個人の感想です。念のため。)

今回Visual Studio 2015 + TypeScriptで開発したのですが、正直NetBeansでJavaFXで開発するほうが楽です。特に、メインのプロセスとレンダラープロセスとのやりとりの部分は、いろいろ面倒くさいですね。JavaFXでWebViewとやりとりするほうが簡単です(慣れもあるでしょうが)。

あとJavaFXに比べてかなり重いのも気になりました。

ただ、JavaFXはいまいち流行っていないというか、盛り上がらないんですよね。HTMLページに埋め込むという利用方法も、Chrome、FirefoxがNPAPI対応止めたりEdgeも対応してなかったりで(参照)現実的ではなくなってきました。

それに比べて、Electronは活発に開発がすすめられてますし、わくわくしますね。
引き続き注目していきたいと思いました。