トップQs
タイムライン
チャット
視点
Electron (ソフトウェア)
クロスプラットフォームなデスクトップアプリケーションを製作するためのフレームワーク ウィキペディアから
Remove ads
Electron(旧称はAtom Shell[5])とはGitHubが開発と管理をしている、フリーでオープンソースなソフトウェアフレームワークである[6]。Electronにより、ChromiumレンダリングエンジンとランタイムのNode.jsとを組み合わせたWeb技術を用いたデスクトップGUIアプリケーションの開発が可能となる[7]。Electronは、Atom、GitHub Desktop、Light Table、Visual Studio Code、Evernote[8]、およびWordPress Desktop[9]などのオープンソースプロジェクトの基盤となる中心的GUIフレームワークである。
Remove ads
アーキテクチャ
Electronアプリケーションは複数プロセスで構成されており、1つの「メイン」プロセスと複数の「レンダラー」プロセスが存在する。メインプロセスがアプリケーションロジックを実行すると、レンダラープロセスを複数起動できるようになる。レンダラープロセスはユーザー画面に表示されるウインドウへ、HTMLやCSSをレンダリングする。
可能ならば、メインプロセスとレンダラープロセスは共にNode.jsと統合して起動できる。
ElectronのAPIは、ほとんどC++かObjective-Cで書かれており、JavaScriptバインディングを通じてアプリケーションコードに直接公開される[10]。
セキュリティ
ElectronアプリケーションはChromiumエンジンで起動するウェブアプリケーションである。そのため古いバージョンのElectronを使用してしまうと、ブラウザ(Chromiumなど)や他の内部コンポーネント (Node.js) と同じ攻撃ベクトルによるクロスサイトスクリプティングなどのウェブ関連攻撃に対して脆弱となる[11]。前述の脆弱性は、Electronの1.7.13、1.8.4、および2.0.0-beta.5で修正されている[12]。
批判
Electronアプリケーションは、類似した機能のネイティブアプリケーションよりも巨大なオーバーヘッドが発生してしまうことを批判されている。Electronでビルドされたアプリケーションは、オペレーティングシステムネイティブな技術でビルドされた類似のアプリケーションよりも大量のストレージとRAMを消費してしまうため、動作が遅くなる可能性が高い[13][14][15]。代替案として、Chromiumをバンドルするのではなく、オペレーティングシステムに内蔵されたブラウザを使用する方法が記述されている[16]。
バージョン
Remove ads
Electronを利用したソフトウェア
以下のソフトウェアを含む、数多くのデスクトップアプリケーションがElectronで作られている[17]。
- 1Password
- Atom[5]
- Basecamp 3[17]
- Beaker
- Bitwarden
- CrashPlan[18]
- Cryptocat[17](開発終了)
- Discord
- balenaEtcher[19]
- GitHub Desktop[20]
- Keybase
- GitKraken
- Lbry
- Light Table
- Mattermost[17]
- Microsoft Teams[21]
- MongoDB Compass[17]
- Notion[17]
- Joplin[22]
- Quasar Framework
- Shift[17]
- ShogiHome
- Signal
- Skype[17]
- Slack[23]
- Symphony Chat[24]
- Terminus
- TIDAL[17]
- Twitch[17]
- Visual Studio Code[25][26]
- VOICEVOX[27][28]
- WebTorrent[17]
- Wire[29]
- Yammer
Remove ads
関連項目
- Apache Cordova
- Chromium Embedded Framework (CEF)
- HTML Application
- Qt WebEngine
- XULRunner
- JavaFX WebView
- DotNetBrowser
- プログレッシブウェブアプリ
- Node.js
- Tauri
脚注
外部リンク
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads