Electron (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Electron
作者 GitHub
開発元 OpenJS Foundation英語版
初版 2013年7月15日 (10年前) (2013-07-15)[1]
最新版
30.0.1[2] ウィキデータを編集 / 2024年4月18日 (7日前)
最新評価版
26.0.0-beta.3[3] ウィキデータを編集 / 2023年6月7日 (10か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
C++JavaScriptObjective-C++PythonおよびObjective-C
対応OS LinuxmacOSおよびWindows
プラットフォーム IA-32, x86-64, ARM
ライセンス MIT License[4]
公式サイト www.electronjs.org ウィキデータを編集
テンプレートを表示

Electron(旧称はAtom Shell[5])とはGitHubが開発と管理をしている、フリーでオープンソースソフトウェアフレームワークである[6]。Electronにより、ChromiumレンダリングエンジンとランタイムのNode.jsとを組み合わせたWeb技術を用いたデスクトップGUIアプリケーションの開発が可能となる[7]。Electronは、AtomGitHub DesktopLight TableVisual Studio CodeEvernote[8]、およびWordPress Desktop[9]などのオープンソースプロジェクトの基盤となる中心的GUIフレームワークである。

アーキテクチャ[編集]

Electronアプリケーションは複数プロセスで構成されており、1つの「メイン」プロセスと複数の「レンダラー」プロセスが存在する。メインプロセスがアプリケーションロジックを実行すると、レンダラープロセスを複数起動できるようになる。レンダラープロセスはユーザー画面に表示されるウインドウへ、HTMLCSSをレンダリングする。

可能ならば、メインプロセスとレンダラープロセスは共に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のバージョン
将来のリリース:v24.0.x ナイトリービルド TBD 111 18.14
現行バージョン:v23.0.x 最新版 2023-02-06 110 18.12
サポート中:v22.2.x サポート中 2022-11-30 108 16.17
サポート中:v21.4.x サポート中 2022-09-26 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]

関連項目[編集]

脚注[編集]

  1. ^ electron/electron”. GitHub. 2018年5月8日閲覧。
  2. ^ "Release electron v30.0.1 · electron/electron"; 閲覧日: 2024年4月19日; 出版日: 2024年4月18日.
  3. ^ https://github.com/electron/electron/releases/tag/v26.0.0-beta.3.
  4. ^ electron/LICENSE at master”. GitHub. 2020年7月3日閲覧。
  5. ^ a b Atom Shell is now Electron”. Atom (2015年4月23日). 2022年11月21日閲覧。
  6. ^ electron/electron”. GitHub. 2018年5月8日閲覧。
  7. ^ Electron Internals: Using Node as a Library”. electronjs.org. 2020年7月3日閲覧。
  8. ^ Small, Ian (2020年10月7日). “Introducing the New Evernote for Windows and Mac”. I Programmer. https://evernote.com/blog/new-windows-mac/ 2020年11月3日閲覧。 
  9. ^ GitHub Repository”. 2019年6月16日閲覧。
  10. ^ From native to JavaScript in Electron | Electron Blog”. electronjs.org. 2019年4月26日閲覧。
  11. ^ Electron nodeIntegration Bypass” (2018年5月10日). 2021年9月12日閲覧。
  12. ^ Webview Vulnerability Fix” (2018年3月21日). 2021年9月12日閲覧。
  13. ^ Electron considered harmful”. Drew DeVault's Blog. 2019年10月2日閲覧。
  14. ^ Electron is Cancer”. Commit Log. Medium. 2019年10月2日閲覧。
  15. ^ Electron is flash for the desktop”. 2021年6月12日閲覧。
  16. ^ electron-alternatives: Few Cross platform desktop GUI App development options are listed here”. GitHub (2020年10月8日). 2021年9月12日閲覧。
  17. ^ a b c d e f g h i j k Apps”. Electron. 2020年6月13日閲覧。
  18. ^ CrashPlan for Small Business version 6.7”. Code42 CrashPlan Release Notes. 2018年4月25日閲覧。
  19. ^ Etcher on GitHub”. 2020年7月7日閲覧。
  20. ^ Announcing Git Integration for Atom and GitHub Desktop Beta”. The GitHub Blog (2017年5月16日). 2017年7月15日閲覧。
  21. ^ Electron Helper and branding”. techcommunity.microsoft.com (2017年5月20日). 2018年5月8日閲覧。
  22. ^ Joplin - Apps - Electron”. 2021年9月12日閲覧。
  23. ^ Building hybrid applications with Electron”. Several People Are Coding. 2017年8月12日閲覧。
  24. ^ symphonyoss/SymphonyElectron”. GitHub. 2018年9月27日閲覧。
  25. ^ Microsoft's new Code editor is built on Google's Chromium”. Ars Technica (2015年4月29日). 2015年11月18日閲覧。
  26. ^ Open Source project”. 2021年9月12日閲覧。
  27. ^ VOICEVOX”. 公式サイト. 2022年6月18日閲覧。
  28. ^ 商用可・無料の音声読み上げツール「VOICEVOX」が公開 ~素人でも手軽に満足のいく品質が得られる丁度よさが魅力【8月6日追記】”. 窓の杜 (2021年8月2日). 2022年6月18日閲覧。
  29. ^ wireapp/wire-desktop”. GitHub. 2018年5月8日閲覧。

E外部リンク[編集]