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

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

Electronを触って少し欠点も見えてきた

      2016/06/11

[ad#top-1]
 

クロスプラットフォームで動作可能なElectronですが、いろいろ触ってみて若干欠点も見えてきたのでこの際書いておこうと思います。半分はある程度予想はしていましたので、やっぱりなと思う反面、少々残念な気もしています。まだいろいろ試していくので、後々撤回することもあるとは思いますが、とりあえず現時点で思うところを書いておきたいと思います。

998

起動が重い

基本はインタプリタ言語で各種ライブラリを背負いながら稼働するためか、特に起動時にやや重量感を感じます。もっとも、重いとは言ってもたぶんJavaの方が重いかも。若干”引っかかる”程度なので気にならないかもしれません。ただ、何もないフォーム1個起動させるだけで重い感じがしましたので、ごく単純なアプリを作るのだったら(Windowsなら)C#やVBで作った方がいいでしょう。

ファイルサイズが大きすぎ

単純なフォームを起動するだけのプログラムで、exeファイルのサイズが69.5MB。それ以外のライブラリ群を含めた配布しなきゃいけないファイルも含めると、なんと120MBもあります。これがC#だったらexeファイルで数KB程度で済みます。しかもexeファイルだけ。もちろん、C#の場合はWindows自体にライブラリを持っているので単純比較はできないのですが、それでも120MBは大きすぎです。

いまさらクロスプラットホームと言われても・・・

ソフトウェアでクロスプラットホームが最も重要なのなら、Windows上でJavaがC#/VBに喰われなかったと思いますよ。サンマイクロシステムも消えちゃったし、なんでこうなったかって言えば、結局のところユーザー使い勝手だったんだと思います。速度を含めてね。もちろん、OSに依存しないというのは開発者にとって重要なのはわかりますが、それ以外を犠牲にしてしまったことがJavaの反省点なわけで、結局Electronも二の轍を踏んでしまうような気がします。クロスプラットホームなんて夢みたいな話なのです。JavaはAndroidアプリに使われるようになったから良かったものの、それが無かったら陽の目を見ることはなかったでしょう。

結局なにに適しているのかイメージできない

Web言語でデスクトップアプリというのは斬新なのですが、既にあるデスクトップ用途の言語よりメリットあるのかイマイチわかりません。今のところ、Windows, Mac, Linux上で使えるようですが、Javaと同じ道を歩むだけのような。クロスプラットホーム以外で特徴がないとちょっと厳しいかなと思っています。おなじクロスプラットホームだったら言語仕様が厳しいJavaの方が好きですね。僕は。

ただ、Phone OSを跨いだクロスプラットホームなら・・・

ここなんですよねー。唯一期待できるのは。言語がHTML+CSS+JavaScriptで、Chromiumをランタイムとして使っているので、スマホアプリは技術的に可能なんじゃないかと思います。もしここができれば一気に広まるんじゃないかと思っていたりします。今のところ動きはなさそうですが・・・。スマホアプリはネットワークを介してサーバーとの連携が頻繁に行われているので、むしろElectronは得意分野じゃないかと思ったりします。今がないだけで、いずれ出てくるのかな。だとしたら積極的に取り入れてきたいんですが。

 

ということで、Electronを批判してしまいましたが、引き続き触っていく予定です。何かできたら随時ブログにアップしていきます。

 
[ad#ad-1]

スポンサーリンク

 - Electron