Electron(ソフトウェアフレームワーク)

電子
原作者GitHub
開発者OpenJS財団
初回リリース2013年7月15日; 12年前[1] (2013年7月15日
安定版リリース
36.2.0 [2] / 2025年5月7日; 6か月前 (2025年5月7日
プレビューリリース
37.0.0-alpha.3 [3] / 2025年5月5日; 6か月前 (2025年5月5日
リポジトリ
  • github.com/electron/electron
書かれたC++JavaScriptObjective-C++Objective-C
オペレーティング·システムLinuxmacOSWindows
プラットフォームIA-32x86-64ARM
ライセンスMITライセンス[4]
Webサイトwww.electronjs.org

Electron(旧称Atom Shell [5])は、OpenJS Foundationによって開発および保守されている無料のオープンソース ソフトウェアフレームワークです。[6]このフレームワークは、ChromiumブラウザエンジンのバージョンとNode.jsランタイム環境を使用したバックエンドを使用してレンダリングされるWebテクノロジ(主にHTMLCSSJavaScriptですが、フロントエンドフレームワークやWebAssemblyなどの他のテクノロジも可能)を使用してデスクトップアプリケーションを作成するように設計されています [ 7]また、 Node.jsサービスとのネイティブ統合やプロセス間通信モジュールなどの機能を有効にするために、さまざまなAPIを使用します。

ElectronはもともとAtom [5]用に構築され、 GitHub DesktopLight Table [8]WordPress Desktop [9]Eclipse Theia [10]など、他のオープンソースプロジェクトの主要なGUIフレームワークですまた、Microsoft独自のコードエディタVisual Studio Codeでも使用されています。

建築

Electronアプリケーションには、「メイン」プロセスと複数の「レンダラー」プロセスが含まれます。メインプロセスはアプリケーションのロジック(メニュー、シェルコマンド、ライフサイクルイベントなど)を実行し、クラスのインスタンスをインスタンス化することで複数のレンダラープロセスを起動できます。レンダラープロセスは、 HTMLCSSBrowserWindowをレンダリングして画面に表示されるウィンドウを読み込みます[要出典]

メイン プロセスのフィールドが に設定されている場合、メイン プロセスとレンダラー プロセスの両方をNode.js統合で実行できます[引用が必要]nodeIntegrationtrue

ElectronのAPIのほとんどはC++またはObjective-Cで記述されており、 JavaScriptバインディングを通じてアプリケーションコードに直接公開されます[11]

歴史

2021年9月、ElectronはChromium Extended Stableのリリースサイクルと一致させ、ブラウザベースのアプリはブラウザエンジンの最新リリースから2つのメジャーバージョン以内であることを要求するMicrosoft Storeの新しい要件に準拠するために、メジャーバージョン間のリリースサイクルを8週間に変更しました。[12]

ElectronはChromiumのリリースに合わせて頻繁に新しいメジャーバージョンをリリースしています。最新の3つの安定バージョンはElectronチームによってサポートされています。[13]

バージョン履歴
リリース状態発売日使用期限ChromiumバージョンNode.jsバージョンモジュールバージョンN-APIバージョンICUバージョン
サポート対象外:バージョン1.8.xサポート対象外:寿命の終わり2017年12月12日2018年12月20日598.257??
サポート対象外:v2.0.xサポート対象外:寿命の終わり2018年5月1日2019年4月24日618.957??
サポート対象外:v3.1.xサポート対象外:寿命の終わり2018年9月18日2019年7月29日6610.2643?
サポート対象外:v4.2.xサポート対象外:寿命の終わり2018年12月20日2019年10月22日6910.1169362.2
サポート対象外:バージョン5.1.xサポート対象外:寿命の終わり2019年4月24日2020年2月4日7312.070463.1
サポート対象外:バージョン6.1.xサポート対象外:寿命の終わり2019年7月29日2020年5月18日7612.473464.2
サポート対象外:バージョン7.3.xサポート対象外:寿命の終わり2019年10月22日2020年8月25日7812.875464.2
サポート対象外:バージョン8.3.xサポート対象外:寿命の終わり2020年2月4日2020年11月16日8012.1376565.1
サポート対象外:バージョン9.4.xサポート対象外:寿命の終わり2020年5月18日2021年3月2日8312.1480565.1
サポート対象外:バージョン10.4.xサポート対象外:寿命の終わり2020年8月25日2021年5月25日8512.1682565.1
サポート対象外:バージョン11.4.xサポート対象外:寿命の終わり2020年11月16日2021年8月30日8712.1885565.1
サポート対象外:v12.0.xサポート対象外:寿命の終わり2021年3月2日2021年11月15日[14]8914.1687768.1
サポート対象外:v13.xyサポート対象外:寿命の終わり2021年5月25日2022年1月31日[15]9114.1689768.1
サポート対象外:v14.xyサポート対象外:寿命の終わり2021年8月30日2022年3月29日[16]9214.1789869.1
サポート対象外:v15.xyサポート対象外:寿命の終わり2021年9月21日2022年5月24日[17]9416.598??
サポート対象外:v16.xyサポート対象外:寿命の終わり2021年11月15日[14]2022年5月24日[17]9616.999??
サポート対象外:v17.xyサポート対象外:寿命の終わり2022年2月1日[15]2022年8月2日9816.13101??
サポート対象外:v18.xyサポート対象外:寿命の終わり2022年3月29日[16]2022年9月26日[18]10016.13103??
サポート対象外:v19.xyサポート対象外:寿命の終わり2022年5月24日[17]2022年11月29日[19]10216.14106??
サポート対象外:v20.xyサポート対象外:寿命の終わり2022年8月2日[20]2023年2月7日10416.15???
サポート対象外:v21.xyサポート対象外:寿命の終わり2022年9月26日[18]2023年4月4日10616.16???
サポート対象外:v22.xyサポート対象外:寿命の終わり2022年11月30日[19]2023年10月10日10816.17???
サポート対象外:v23.xyサポート対象外:寿命の終わり2022年11月30日[21]2023年8月15日11018.12???
サポート対象外:v24.xyサポート対象外:寿命の終わり2023年4月4日[22]2023年10月10日11218.14???
サポート対象外:v25.xyサポート対象外:寿命の終わり2023年5月30日[23]2023年12月5日11418.15???
サポート対象外:v26.xyサポート対象外:寿命の終わり2023年8月15日[24]2024年2月20日11618.16???
サポート対象外:v27.xyサポート対象外:寿命の終わり2023年10月10日[25]2024年4月16日11818.17???
サポート対象外:v28.xyサポート対象外:寿命の終わり2023年12月5日[26]2024年6月11日12018.18???
サポート対象外:v29.xyサポート対象外:寿命の終わり2024年2月20日2024年8月20日12220.9???
サポート対象外:v30.xyサポート対象外:寿命の終わり2024年4月16日2024年10月15日12420.11???
サポート対象外:v31.xyサポート対象外:寿命の終わり2024年6月11日2025年1月7日12620.14???
サポート対象外:v32.xyサポート対象外:寿命の終わり2024年8月20日2025年3月4日12820.16???
サポート対象外:v33.xyサポート対象外:寿命の終わり2024年10月15日[27]2025年4月29日13020.18???
サポート対象外:v34.xyサポート対象外:寿命の終わり2025年1月14日[28]2025年6月24日13220.18???
サポート対象外:v35.xyサポート対象外:寿命の終わり2025年3月4日[29]2025年9月2日13422.14???
サポート対象:v36.xyサポート対象:アクティブ2025年4月29日[30]2025年10月28日13622.14???
サポート対象:v37.xyサポート対象:アクティブ2025年6月24日[31]2026年1月13日13822.16???
最新バージョン: v38.xy最新バージョン: 現在2025年9月2日[32]2026年3月10日14022.18???
プレビュー版:v39.xyプレビュー版:プレリリース2025年10月28日[33]2026年5月5日142未定???
将来のバージョン:v40x.y将来のバージョン:夜間未定[34]未定未定未定???

使用法

Electronで構築されたデスクトップアプリケーションには、Atom[35] 、 balenaEtcher[36] 、 DiscordSlack[37]Visual Studio Code [38]などがあります。[ 39] Braveブラウザは、Chromiumを直接使用するように書き直される前はElectronをベースにしていましたが、[40] Microsoft Teamsは2.0より前のElectronを使用していました。[41] [42]

受付

Electronに対する最も一般的な批判は、単純なプログラムに使用するとソフトウェアの肥大化を招くというものです。 [43]そのため、Michael Larabelは、このフレームワークを「多くのLinuxデスクトップユーザーの間で、リソースを大量に消費し、ほとんどのデスクトップとうまく統合できず、一般的に軽蔑されていることで悪名高い」と述べています。[44]研究者たちは、Electronの豊富な機能セットが、ソースJavaScriptファイルへの書き込み権限を持つ悪意のある人物によって乗っ取られる可能性があることを示しました。これは*nixシステムではルート権限を必要としますが、Electron開発者はこれを脆弱性とは考えていません。[45] Electronが常に最新バージョンのChromiumに基づいているわけではないことを懸念する人々は、代替手段としてプログレッシブウェブアプリケーション(PWA)を推奨しています。 [46]

参照

参考文献

  1. ^ "electron/electron". GitHub . 2016年8月2日時点のオリジナルよりアーカイブ2018年5月8日閲覧。
  2. ^ “Release electron v36.2.0 · electron/electron”. GitHub . 2025年5月7日. 2025年5月7日閲覧
  3. ^ “Release electron v37.0.0-alpha.3 · electron/electron”. GitHub . 2025年5月5日. 2025年5月7日閲覧
  4. ^ “electron/LICENSE at master”. GitHub . 2017年5月12日時点のオリジナルよりアーカイブ。 2020年7月3日閲覧
  5. ^ ab Sawicki, Kevin (2015年4月23日). 「Atom Shell が Electron に」. Electron . 2017年11月9日時点のオリジナルよりアーカイブ2022年1月6日閲覧。
  6. ^ “Build cross-platform desktop apps with JavaScript, HTML, and CSS | Electron”. 2022年5月9日時点のオリジナルよりアーカイブ2023年2月1日閲覧。
  7. ^ “Electron Internals: Using Node as a Library”. electronjs.org . 2016年8月8日. 2017年11月9日時点のオリジナルよりアーカイブ。 2020年7月3日閲覧
  8. ^ Horner, Gabriel (2015年12月10日). “Light Table 0.8.0”. lighttable.com. 2015年12月13日時点のオリジナルよりアーカイブ。 2020年7月3日閲覧
  9. ^ “GitHubリポジトリ”. GitHub . 2016年2月19日時点のオリジナルよりアーカイブ2019年6月16日閲覧。
  10. ^ “Theia - クラウドおよびデスクトップIDEプラットフォーム”. theia-ide.org . 2018年4月20日時点のオリジナルよりアーカイブ。 2021年12月31日閲覧
  11. ^ “From native to JavaScript in Electron | Electron Blog”. electronjs.org . 2019年3月19日. 2019年4月26日時点のオリジナルよりアーカイブ。 2019年4月26日閲覧
  12. ^ “New Electron Release Cadence | Electron”. electronjs.org . 2021年7月14日. 2021年7月14日時点のオリジナルよりアーカイブ。 2022年2月9日閲覧
  13. ^ “Electron Releases | Electron”. electronjs.org . 2022年12月16日時点のオリジナルよりアーカイブ。 2022年12月16日閲覧
  14. ^ ab “Release electron v16.0.0 · electron/electron”. GitHub . 2021年12月6日時点のオリジナルよりアーカイブ2021年12月3日閲覧。
  15. ^ ab “Release electron v17.0.0 · electron/electron”. GitHub . 2022年2月12日時点のオリジナルよりアーカイブ2022年2月28日閲覧。
  16. ^ ab “Release electron v18.0.0 · electron/electron”. GitHub . 2022年5月4日時点のオリジナルよりアーカイブ。 2022年5月4日閲覧
  17. ^ abc “Release electron v19.0.0 · electron/electron”. GitHub . 2022年5月31日時点のオリジナルよりアーカイブ。 2022年5月31日閲覧
  18. ^ ab “Release electron v21.0.0 · electron/electron”. GitHub . 2022年12月16日時点のオリジナルよりアーカイブ。 2022年12月16日閲覧
  19. ^ ab “Release electron v22.0.0 · electron/electron”. GitHub . 2022年12月15日時点のオリジナルよりアーカイブ。 2022年12月16日閲覧
  20. ^ “Release electron v20.0.0 · electron/electron”. GitHub . 2022年12月16日時点のオリジナルよりアーカイブ。 2022年12月16日閲覧
  21. ^ “Release electron v23.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧
  22. ^ “Release electron v24.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧
  23. ^ “Release electron v25.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧
  24. ^ “Release electron v26.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧
  25. ^ “Release electron v27.0.0 · electron/electron”. GitHub . 2023年10月10日. 2023年10月11日時点のオリジナルよりアーカイブ。 2023年10月11日閲覧
  26. ^ “Release electron v28.0.0 · electron/electron”. GitHub . 2023年12月4日. 2023年12月14日時点のオリジナルよりアーカイブ。 2023年12月14日閲覧
  27. ^ “Release electron v33.0.0 · electron/electron”. GitHub . 2024年10月14日. 2024年10月16日閲覧
  28. ^ “Release electron v34.0.0 · electron/electron”. GitHub . 2025年1月14日. 2025年5月7日閲覧
  29. ^ “Release electron v35.0.0 · electron/electron”. GitHub . 2025年3月3日. 2025年5月7日閲覧
  30. ^ “Release electron v36.0.0 · electron/electron”. GitHub . 2025年4月28日. 2025年10月16日閲覧
  31. ^ “Release electron v37.0.0 · electron/electron”. Electron . 2025年4月21日. 2025年10月16日閲覧
  32. ^ “Release electron v38.0.0 · electron/electron”. GitHub . 2025年4月28日. 2025年10月16日閲覧
  33. ^ “Releases”. Electron . 2025年10月16日. 2025年10月16日閲覧
  34. ^ “Nightly · Electron Releases”. Electron . 2025年10月16日. 2025年10月16日閲覧
  35. ^ Sawicki, Kevin (2015年4月23日). 「Atom Shell が Electron に」. Electron . 2019年10月16日時点のオリジナルよりアーカイブ2017年7月15日閲覧。
  36. ^ “Etcher on GitHub”. GitHub . 2018年11月16日時点のオリジナルよりアーカイブ。 2020年7月7日閲覧
  37. ^ 「Electronを使ったハイブリッドアプリケーションの構築」。Several People Are Coding . 2016年10月25日。2019年10月16日時点のオリジナルよりアーカイブ2017年8月12日閲覧。
  38. ^ Bright, Peter (2015年4月29日). 「Microsoftの新しいコードエディターはGoogleのChromiumをベースに構築されている」. Ars Technica . 2015年5月7日時点のオリジナルよりアーカイブ。 2015年11月18日閲覧
  39. ^ “オープンソースプロジェクト”. GitHub . 2022年3月29日. 2015年11月23日時点のオリジナルよりアーカイブ2018年5月20日閲覧。
  40. ^ Singh, Jagmeet (2017年1月3日). 「今ではJavaScriptでも機械学習が行われている」. Open Source For U. 2017年1月7日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧
  41. ^ msdmaguire. 「Microsoft Teams のメモリ使用方法 - Microsoft Teams」. docs.microsoft.com . 2020年12月8日時点のオリジナルよりアーカイブ。 2021年11月12日閲覧
  42. ^ Redmond, Tony (2021年6月25日). 「Teams 2.0、ElectronからEdge WebView2に移行」. Office 365 for IT Pros . 2024年8月2日閲覧
  43. ^ Proven, Liam (2021年11月19日). 「Some FOSS gems: Franz, RamBox, Pidgin and more」. The Register. 2021年11月19日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧
  44. ^ Larabel, Michael (2019年2月9日). 「Electronアプリはダメ。だからHTML5 + Golangでデスクトップアプリを作ろう」Phoronix. 2022年8月26日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧
  45. ^ Gallagher, Sean (2019年8月7日). 「Skype、Slack、その他のElectronベースアプリは簡単にバックドアを仕掛けられる」Ars Technica. 2019年8月7日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧
  46. ^ Hoffman, Chris (2019年8月15日). 「そのネイティブアプリはおそらく古いウェブブラウザに過ぎない」How To Geek. 2019年8月15日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧
  • 公式サイト
「https://en.wikipedia.org/w/index.php?title=Electron_(software_framework)&oldid=1320886392」より取得