Electron (ソフトウェア)
作者 | GitHub |
---|---|
開発元 | OpenJS Foundation |
初版 | 2013年7月15日[1] |
最新版 | |
最新評価版 | |
リポジトリ | |
プログラミング 言語 | C++、JavaScript、Objective-C++、PythonおよびObjective-C |
対応OS | Linux、macOSおよびWindows |
プラットフォーム | IA-32, x86-64, ARM |
ライセンス | MIT License[4] |
公式サイト |
www |
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フレームワークである。
アーキテクチャ
[編集]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]。
バージョン
[編集]リリース | 状態 | リリース日付 | Chromiumのバージョン | Node.jsのバージョン |
---|---|---|---|---|
v33.0.x | ナイトリービルド | TBD | 127 | 20.14 |
v32.0.x | アルファ版 | TBD | 127 | 20.14 |
v31.0.x | 最新版 | 2024-06-10 | 126 | 20.14 |
v30.1.x | サポート中 | 2024-04-16 | 124 | 20.11 |
v29.4.x | サポート中 | 2024-02-20 | 122 | 20.9 |
v28.3.x | サポート終了 | 2023-12-05 | 120 | 18.18 |
v27.3.x | サポート終了 | 2023-10-10 | 118 | 18.17 |
v26.6.x | サポート終了 | 2023-08-15 | 114 | 18.15 |
v25.9.x | サポート終了 | 2023-05-30 | 114 | 18.15 |
v24.8.x | サポート終了 | 2023-04-04 | 112 | 18.14 |
v23.3.x | サポート終了 | 2023-01-07 | 110 | 18.12 |
v22.3.x | サポート終了 | 2022-11-29 | 108 | 16.17 |
v21.4.x | サポート終了 | 2022-09-27 | 106 | 16.16 |
v20.3.x | サポート終了 | 2022-08-01 | 104 | 16.15 |
v19.1.x | サポート終了 | 2022-05-23 | 102 | 16.14 |
v18.3.x | サポート終了 | 2022-03-29 | 100 | 16.13 |
v17.4.x | サポート終了 | 2022-02-01 | 98 | 16.13 |
v16.2.x | サポート終了 | 2021-11-16 | 96 | 16.9 |
v15.5.x | サポート終了 | 2021-09-21 | 94 | 16.5 |
v14.2.x | サポート終了 | 2021-08-30 | 93 | 14.17 |
v13.0.x | サポート中 | 2021-05-25 | 91 | 14.16 |
v12.2.x | サポート中 | 2021-03-02 | 89 | 14.16 |
v11.5.x | サポート終了 | 2020-11-16 | 87 | 12.18 |
v10.4.x | サポート終了 | 2020-08-25 | 85 | 12.16 |
v9.4.x | サポート終了 | 2020-05-18 | 83 | 12.14 |
v8.3.x | サポート終了 | 2020-02-04 | 80 | 12.13 |
v7.3.x | サポート終了 | 2019-10-22 | 78 | 12.8 |
v6.1.x | サポート終了 | 2019-07-29 | 76 | 12.4 |
v5.1.x | サポート終了 | 2019-04-24 | 73 | 12.0 |
v4.2.x | サポート終了 | 2018-12-20 | 69 | 10.11 |
v3.1.x | サポート終了 | 2018-09-18 | 66 | 10.2 |
v2.0.x | サポート終了 | 2018-05-01 | 61 | 8.9 |
v1.8.x | サポート終了 | 2017-12-12 | 59 | 8.2 |
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
関連項目
[編集]- Apache Cordova
- Chromium Embedded Framework (CEF)
- HTML Application
- Qt WebEngine
- XULRunner
- JavaFX WebView
- DotNetBrowser
- プログレッシブウェブアプリ
- Node.js
- Tauri
脚注
[編集]- ^ “electron/electron”. GitHub. 8 May 2018閲覧。
- ^ "Release 33.0.0"; 閲覧日: 2024年10月16日; 出版日: 2024年10月14日.
- ^ https://github.com/electron/electron/releases/tag/v26.0.0-beta.3.
- ^ “electron/LICENSE at master”. GitHub. 3 July 2020閲覧。
- ^ a b “Atom Shell is now Electron”. Atom (23 April 2015). 2022年11月21日閲覧。
- ^ “electron/electron”. GitHub. 8 May 2018閲覧。
- ^ “Electron Internals: Using Node as a Library”. electronjs.org. 3 July 2020閲覧。
- ^ Small, Ian (7 October 2020). “Introducing the New Evernote for Windows and Mac”. I Programmer 3 November 2020閲覧。
- ^ “GitHub Repository”. 16 June 2019閲覧。
- ^ “From native to JavaScript in Electron | Electron Blog”. electronjs.org. 2019年4月26日閲覧。
- ^ “Electron nodeIntegration Bypass” (10 May 2018). 2021年9月12日閲覧。
- ^ “Webview Vulnerability Fix” (21 March 2018). 2021年9月12日閲覧。
- ^ “Electron considered harmful”. Drew DeVault's Blog. 2 October 2019閲覧。
- ^ “Electron is Cancer”. Commit Log. Medium. 2 October 2019閲覧。
- ^ “Electron is flash for the desktop”. 2021年6月12日閲覧。
- ^ “electron-alternatives: Few Cross platform desktop GUI App development options are listed here”. GitHub (8 October 2020). 2021年9月12日閲覧。
- ^ a b c d e f g h i j k “Apps”. Electron. 13 June 2020閲覧。
- ^ “CrashPlan for Small Business version 6.7”. Code42 CrashPlan Release Notes. 25 April 2018閲覧。
- ^ “Etcher on GitHub”. 7 July 2020閲覧。
- ^ “Announcing Git Integration for Atom and GitHub Desktop Beta”. The GitHub Blog (16 May 2017). 15 July 2017閲覧。
- ^ “Electron Helper and branding”. techcommunity.microsoft.com (20 May 2017). 8 May 2018閲覧。
- ^ “Joplin - Apps - Electron”. 2021年9月12日閲覧。
- ^ “Building hybrid applications with Electron”. Several People Are Coding. 12 August 2017閲覧。
- ^ “symphonyoss/SymphonyElectron”. GitHub. 27 September 2018閲覧。
- ^ “Microsoft's new Code editor is built on Google's Chromium”. Ars Technica (29 April 2015). 18 November 2015閲覧。
- ^ “Open Source project”. 2021年9月12日閲覧。
- ^ “VOICEVOX”. 公式サイト. 2022年6月18日閲覧。
- ^ “商用可・無料の音声読み上げツール「VOICEVOX」が公開 ~素人でも手軽に満足のいく品質が得られる丁度よさが魅力【8月6日追記】”. 窓の杜 (2021年8月2日). 2022年6月18日閲覧。
- ^ “wireapp/wire-desktop”. GitHub. 8 May 2018閲覧。
外部リンク
[編集]- 公式ウェブサイト
- Electron.NET - アプリケーションをC#で書けるようにするラッパー