- Electron は単に遅くて非効率だと誤解されがちだが、実際には効率的で強力なツールである
- RAM使用量 と ストレージ容量 の問題は現代のアプリ全般に見られる傾向であり、Electron固有の問題ではない
- ストリーミングサービスのように Web技術ベース の機能が重要なアプリでは、むしろElectronのほうが自然な選択になる
- 高速な開発速度 と 非同期ネットワーキング に最適化されており、生産性が非常に高い
- Electronが遅いという評価は主に 企業が作った品質の低いアプリ によるもので、よくできたElectronアプリは十分に高速で実用的である
Electronに対する偏見
- ElectronはローカルでWebページを表示する Chromiumブラウザ のようなもの
- そのため遅くて非効率で「ネイティブではない」という認識が広まったが、実際にはそうではない
効率性
- Electronが非効率なら、Chromiumブラウザ 自体がまともに動作しないはずである
- Electronはアプリを正しく動かすために多くの要素をまとめてバンドルしているだけである
RAM使用量
- 「ElectronはRAMを大量に消費する」という主張は事実と異なる
- 実際の測定結果
- Vermilion (Electronベース): 215MB
- Dolphin (Qt6/KDEベース): 258MB
- Nautilus (GTK4/Libadwaitaベース): 374MB
- 現代のアプリは機能が増えるにつれてRAM消費も増える傾向があり、これはElectronだけの問題ではない
ストレージ容量
- Electronアプリは多くの依存関係を一緒にバンドルするため、容量が大きくなる
- FlatpakやAppImageに似た構造であり、その結果 移植性と安定性 が高くなる
速度
- Electronアプリが遅いのは Electron自体のせいではなく、主に 企業が作ったアプリ が雑に開発されていたためである
むしろElectronのほうが良い場合
DRM処理
- ストリーミングサービスはDRMを使用しており、これはWebベースの技術を必要とする
- たとえばTidalは Widevine を必要とし、Electronにはこれを容易に統合できるエコシステムが整っている
- Spotifyも法的に JSモジュール を通してのみストリーミングが可能である
高速な開発速度
- TypescriptとElectronは Web技術の経験者 に非常に高速な開発を可能にする
- GTKやQTベースのフレームワークに比べ、Web技術 はアクセスしやすさと学習難易度の面ではるかに優れている
非同期ネットワーキング
- ストリーミングアプリのように非同期通信が頻繁な場合、Web技術は最適化されている
Electronは何にでも適しているのか?
- 理論上は可能だが、デスクトップの中核アプリ のように最小限のリソースを求める場合には適していない
- 複雑で、オンライン機能が多く、クロスプラットフォームを考慮する必要があるアプリにはElectronが論理的な選択肢である
- 開発品質 が前提であれば、Electronアプリも十分に高速かつ効率的に作ることができる
- 例として、ObsidianやVS CodeのようなElectronアプリは性能が非常に優れている
- 最近の WASM の進歩により、重い処理をオフロードすればElectronアプリも従来のデスクトップアプリと競争できる
結論
- Electronに対する不満の大半は 古いElectronバージョン や 企業の品質の低いアプリ に起因している
- 「ブラウザページだから遅い」という認識は現実とかけ離れており、現代のブラウザは非常に高い性能を示している
16件のコメント
Electron が上手なところに当たっていないからですよ〜
…ってことみたいですね(笑)
私もElectronは2〜3年前に使っていたくらいで、最近はTauriで作っていますね..
いいですね
Tauri を使ってください。Rust バックエンドで、思ったより統合もしやすいです。
主張だけで、根拠がまったくありませんね。
とにかく、
qtみたいなものよりはオープンな体験が良いってことですよね?ほかのポイントは理解できますが、RAMに関する主張は実体験とかけ離れすぎていますね……
常にバックグラウンドで常駐していなければならないElectronアプリケーションは、少し負担に感じました。
うーん……Electronアプリを3〜4個起動しているだけでも、メモリ不足で苦しむことがしょっちゅうあるのに……。
攻撃対象領域が多すぎるのに、あまり関心を持ってもらえないので、もう手を引こうと思っています
それ自体は良いフレームワークだという点には同意しますが、多くの企業やスタートアップが高い生産性を口実に性能への配慮をせず量産しているせいで、とりあえず Electron 製だと言われると拒否感を覚えてしまいます。
良いノートPCを使っているのに、正直
vscodeが速いというのはあまり実感できない。結局、かなり重くて機能が多いぶん使いやすい IntelliJ を使うか、あるいはネイティブで開発された IDE やテキストエディタを使うようになる。確かにそのほうが速いし、体験も良かった。とても良いのですが、基本サイズがあるのでどこにでも使うには少し向いていませんね..
Electron、すごく良いのに、誰が良くないって言うんだろう…本当にすごく良い。
Flatpak や AppImage のような問題は、Windows に戻ればまったく関係のない話のようにも思いますけどね(笑)..
Electron 自体はとても良いフレームワークだと思います。フレームワークの開発も活発ですし、何より Chromium に実装されるものはだいたい全部そろっていますからね。
Electronについて人々が誤解していること
Tauri と Electron の比較 - パフォーマンス、バンドルサイズ、および実際のトレードオフ