Electron (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
Electron
Electron Software Framework Logo.svg
Electron 14.0.0 screenshot.png
作者 GitHub
開発元 OpenJS Foundation英語版
初版 2013年7月15日 (8年前) (2013-07-15)[1]
最新版
14.0.0 / 2021年8月31日 (15日前) (2021-08-31)[2]
最新評価版
15.0.0-beta.2 / 2021年9月3日 (12日前) (2021-09-03)[3]
リポジトリ ウィキデータを編集
プログラミング
言語
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のバージョン Moduleのバージョン N-APIのバージョン ICUのバージョン
将来のリリース: v14.0.x ベータ版 TBD 92 14.17 89 8 69.1
現在の安定版: v13.0.x 最新版 2021-05-25 91 14.16 89 7 68.1
以前のバージョン、まだサポート中: v12.0.x サポート中 2021-03-02 89 14.16 87 7 68.1
以前のバージョン、まだサポート中: v11.4.x サポート中 2020-11-16 87 12.18 85 5 65.1
以前のバージョン、サポート終了: v10.4.x サポート終了 2020-08-25 85 12.16 82 5 65.1
以前のバージョン、サポート終了: v9.4.x サポート終了 2020-05-18 83 12.14 80 5 65.1
以前のバージョン、サポート終了: v8.3.x サポート終了 2020-02-04 80 12.13 76 5 65.1
以前のバージョン、サポート終了: v7.3.x サポート終了 2019-10-22 78 12.8 75 4 64.2
以前のバージョン、サポート終了: v6.1.x サポート終了 2019-07-29 76 12.4 73 4 64.2
以前のバージョン、サポート終了: v5.1.x サポート終了 2019-04-24 73 12.0 70 4 63.1
以前のバージョン、サポート終了: v4.2.x サポート終了 2018-12-20 69 10.11 69 3 62.2
以前のバージョン、サポート終了: v3.1.x サポート終了 2018-09-18 66 10.2 64 3 ?
以前のバージョン、サポート終了: v2.0.x サポート終了 2018-05-01 61 8.9 57 ? ?
以前のバージョン、サポート終了: v1.8.x サポート終了 2017-12-12 59 8.2 57 ? ?

Electronを利用したソフトウェア[編集]

以下のソフトウェアを含む、数多くのデスクトップアプリケーションがElectronで作られている[17]

関連項目[編集]

脚注[編集]

  1. ^ electron/electron”. GitHub. 2018年5月8日閲覧。
  2. ^ Release Notes for v14.0.0”. GitHub. 2021年9月12日閲覧。
  3. ^ Release Notes for v15.0.0-beta.2”. GitHub. 2021年9月12日閲覧。
  4. ^ electron/LICENSE at master”. GitHub. 2020年7月3日閲覧。
  5. ^ Atom Shell is now Electron”. Atom (2015年4月23日). 2020年7月3日閲覧。
  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. ^ Atom Shell is now Electron”. Electron (2015年4月23日). 2017年7月15日閲覧。
  19. ^ CrashPlan for Small Business version 6.7”. Code42 CrashPlan Release Notes. 2018年4月25日閲覧。
  20. ^ Etcher on GitHub”. 2020年7月7日閲覧。
  21. ^ Announcing Git Integration for Atom and GitHub Desktop Beta”. The GitHub Blog (2017年5月16日). 2017年7月15日閲覧。
  22. ^ Electron Helper and branding”. techcommunity.microsoft.com (2017年5月20日). 2018年5月8日閲覧。
  23. ^ Joplin - Apps - Electron”. 2021年9月12日閲覧。
  24. ^ Building hybrid applications with Electron”. Several People Are Coding. 2017年8月12日閲覧。
  25. ^ symphonyoss/SymphonyElectron”. GitHub. 2018年9月27日閲覧。
  26. ^ Microsoft's new Code editor is built on Google's Chromium”. Ars Technica (2015年4月29日). 2015年11月18日閲覧。
  27. ^ Open Source project”. 2021年9月12日閲覧。
  28. ^ wireapp/wire-desktop”. GitHub. 2018年5月8日閲覧。

E外部リンク[編集]