【エレクトロン】

Electron(エレクトロン) とは?

💡 Webの技術でデスクトップアプリが作れる魔法の箱
📌 このページのポイント
Electron の構成とマルチOS対応 Electron Chromium HTML / CSS / JS 画面の描画 レンダラープロセス Node.js ファイル操作 OS機能アクセス メインプロセス Windows macOS Linux 採用アプリ VS Code Slack Discord Notion 注意点 バイナリ 100MB+ メモリ消費大 起動やや遅い
Electronの構成とマルチOS対応のイメージ
ひよこ ひよこ

デスクトップアプリって、普通は専用の言語で作るんじゃないの?

ペンギン先生 ペンギン先生

昔はそうだったんだ。WindowsならC#、macOSならSwiftっていう具合にね。でもElectronが登場してからは、HTMLCSSJavaScriptだけでどのOSでも動くアプリが作れるようになったんだよ

ひよこ ひよこ

どうやってWebの技術でデスクトップアプリになるの?

ペンギン先生 ペンギン先生

Electronの中にはChromiumっていうブラウザエンジンとNode.jsが入っていて、アプリの画面はWebページと同じ仕組みで描画されるんだ。さらにNode.jsでファイル操作やOS機能にもアクセスできるから、普通のブラウザではできないことも可能になるよ

ひよこ ひよこ

VS CodeもElectronなんだ!すごく軽快に動く気がするけど…

ペンギン先生 ペンギン先生

そうなんだ。MicrosoftがかなりチューニングしてるからVS Codeは快適だけど、実は裏でChromiumが動いているんだよ。ただ、Chromiumを丸ごと含むからアプリのサイズが100MB超えになりやすいのが弱点だね

ひよこ ひよこ

メモリもたくさん使うの?

ペンギン先生 ペンギン先生

うん、Chromiumのプロセスモデルを引き継ぐから、メモリ使用量は多めになるよ。Slackを開いてるだけで数百MBということもある。そこが課題で、最近はTauriのようなより軽量な代替フレームワークも注目されているんだ

ひよこ ひよこ

じゃあElectronはもうオワコン?

ペンギン先生 ペンギン先生

いやいや、まだまだ主流だよ。エコシステムが巨大で、プラグインやツールが豊富だし、実績のあるアプリが多いから安心感がある。セキュリティアップデートも活発だし、用途に応じてElectronとTauriを使い分けるのが今のトレンドだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Electron」って出てきたら「Web技術でデスクトップアプリを作れるフレームワーク」と思えればだいたいOK!
📖 おまけ:英語の意味
「Electron」 = 電子
💬 もともとはGitHubがAtomエディタ用に開発した「Atom Shell」が前身で、2015年にElectronに改名されたよ。電子のように軽やかにプラットフォームを飛び回るイメージだね
← 用語集にもどる