非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Electronの長所と短所と期待したいこと

      2016/06/14

[ad#top-1]

いま、Electronでデスクトップアプリを作ったりしているのですが、一通り使ったなかで当初感じたことと若干印象が変わったので書いておきます。思っていた以上にメリットがあったり、逆に短所があったり(これは当初の予想通りかも)、あとは今後に期待したいこともあります。

998

プラットホームにかかわらずJavaScriptに集約できる

WebアプリはHTML+JavaScriptで作るけど、デスクトップアプリを作る時にはC#だったりJavaだったり。かつては、Visual C++とかC++BuilderとかDelphiとか、とにかく多様な言語を使い分けていたわけです。これが、どんなプラットフォームでもHTML+JavaScriptに集約できるという点は大きいんじゃないかと思います。従来はWebアプリエンジニアとデスクトップアプリのエンジニアはまったく別の言語を習得する必要がありましたが、それが1つに集約できるということは、コスト面でもかなり有利です。素人の僕自身も、Web系とデスクトップ系でふらふらしていたけど、HTML+JavaScriptの1本に集中できるというのは非常にうれしいです。まあ、C#を捨てるのはちょっともったいないけど・・・。

豊富なJavaScript資源を利用できる

Webアプリのために色々な便利なライブラリが存在していますが、これをデスクトップアプリで使うことができます。C#やJavaにもライブラリがなくはないですが、JavaScriptに比べたら全然少ないですし、マイナーなものばかりでそれを探したり導入するのに苦労したりします。その点、JavaScriptだと、JQueryがあるし、今回僕が利用したACEやHighlight.jsがあったり、それ以外にもアニメーション系のライブラリなど、とにかくいっぱいあります。これが自由に使えるのは非常にありがたい。

自由にデザインできる

C#やJavaなど、デスクトップ系の言語はフォームやボタンなどのコントロールのデザインは限りがありました。まったくないわけではないのですが、WindowsAPIを直接いじったり結構な手間がかかりましたが、ElectronはCSSで自由にデザインできます。また、スライドやワイプのような動きも付けられるので、今までのデスクトップアプリとは違ったデザインが可能になります。

ただ、大規模アプリには耐えられないかも・・・?

インタプリタ言語のため、ネイティブアプリに比べて速度的には劣ります。なので、例えばオフィスソフトのような大規模アプリにはたぶん耐えられないと思います。その反対の超軽量アプリにも不向きかもしれません。C#なら数MBくらいでできる軽量アプリでも、Electronでは100MBを超えてしまうので。これはライブラリ群を同梱させているからなのですが、どんなに小さいプログラムでもインストールサイズが100MBを超えてしまうのは、やはりデメリットになります。たぶん中規模サイズのプログラムのみが対象になるんじゃないかと思います。

有償アプリにも向かない

コンパイルしてバイナリファイルにはならないので、ソースコードがそのまま見ることができてしまいます。基本ソースコードは公開されるという性質上、有償アプリには向かないでしょう。

スマホアプリへの利用を期待したい

Electronで期待したいのは、スマホアプリの開発をできるようにしてほしいという点です。今はWindows, Mac, Linuxでしかサポートされていません。たぶん、インストールサイズが大きいのがネックになっていると思いますが、なんとかコンパクトにまとめるようにして、スマホアプリの開発が可能になってほしいものです。スマホアプリが可能になれば、おそらく爆発的にヒットするんじゃないんでしょうか。
[ad#ad-1]

スポンサーリンク

 - Electron