Electron (ソフトウェア)

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
作者 GitHub
開発元 OpenJS Foundation
初版 2013年7月15日 (2013-07-15)[1]
最新版
1.7.6[2] ウィキデータを編集 / エラー: 最初のパラメータの文字列長が想定外です。
最新評価版
22.0.0-beta.8[3] ウィキデータを編集 / 2022年11月24日
リポジトリ
プログラミング
言語
C++JavaScriptObjective-C++PythonおよびObjective-C
対応OS LinuxmacOSおよびWindows
プラットフォーム IA-32, x86-64, ARM
ライセンス MIT License[4]
公式サイト www.electronjs.org

アーキテクチャ

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ナイトリービルドTBD11118.14
現在の安定版: v23.0.x最新版2023-02-0611018.12
以前のバージョン、まだサポート中: v22.2.xサポート中2022-11-3010816.17
以前のバージョン、まだサポート中: v21.4.xサポート中2022-09-2610616.16
以前のバージョン、サポート終了: v20.3.xサポート終了2022-08-0110416.15
以前のバージョン、サポート終了: v19.1.xサポート終了2022-05-2310216.14
以前のバージョン、サポート終了: v18.3.xサポート終了2022-03-2910016.13
以前のバージョン、まだサポート中: v17.4.xサポート中2022-02-019816.13
以前のバージョン、まだサポート中: v16.2.xサポート中2021-11-169616.9
以前のバージョン、まだサポート中: v15.5.xサポート中2021-09-219416.5
以前のバージョン、サポート終了: v14.2.xサポート終了2021-08-309314.17
以前のバージョン、まだサポート中: v13.0.xサポート中2021-05-259114.16
以前のバージョン、まだサポート中: v12.2.xサポート中2021-03-028914.16
以前のバージョン、サポート終了: v11.5.xサポート終了2020-11-168712.18
以前のバージョン、サポート終了: v10.4.xサポート終了2020-08-258512.16
以前のバージョン、サポート終了: v9.4.xサポート終了2020-05-188312.14
以前のバージョン、サポート終了: v8.3.xサポート終了2020-02-048012.13
以前のバージョン、サポート終了: v7.3.xサポート終了2019-10-227812.8
以前のバージョン、サポート終了: v6.1.xサポート終了2019-07-297612.4
以前のバージョン、サポート終了: v5.1.xサポート終了2019-04-247312.0
以前のバージョン、サポート終了: v4.2.xサポート終了2018-12-206910.11
以前のバージョン、サポート終了: v3.1.xサポート終了2018-09-186610.2
以前のバージョン、サポート終了: v2.0.xサポート終了2018-05-01618.9
以前のバージョン、サポート終了: v1.8.xサポート終了2017-12-12598.2

Electronを利用したソフトウェア

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

関連項目

脚注

  1. electron/electron”. GitHub. 2018年5月8日閲覧。
  2. "Release 1.7.6"; 閲覧日: 2018年3月13日; 出版日: 2017年8月9日.
  3. "Release 22.0.0-beta.8"; 閲覧日: 2022年12月16日; 出版日: 2022年11月24日.
  4. electron/LICENSE at master”. GitHub. 2020年7月3日閲覧。
  5. 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. 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外部リンク

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.