| 原作者 | GitHub |
|---|---|
| 開発者 | OpenJS 財団 |
| 初回リリース | 2013年7月15日[1] |
| 安定版リリース | 33.0.0 [2]
/ 2024年10月14日 |
| プレビューリリース | 34.0.0-alpha.1 [3]
/ 2024年10月15日 |
| リポジトリ |
|
| 書かれた | C++、JavaScript、Objective-C++、Objective-C |
| オペレーティング·システム | Linux、macOS、Windows |
| プラットフォーム | IA-32、x86-64、ARM |
| ライセンス | MITライセンス[4] |
| Webサイト | 電子ジャーナル |
Electron(旧称Atom Shell [5])は、OpenJS Foundationによって開発および保守されている無料のオープン ソースソフトウェアフレームワークです。[6]このフレームワークは、ChromiumブラウザエンジンのバージョンとNode.jsランタイム環境を使用したバックエンドを使用してレンダリングされるWebテクノロジー(主にHTML、CSS、JavaScriptですが、フロントエンドフレームワークやWebAssemblyなどの他のテクノロジーも可能)を使用してデスクトップアプリケーションを作成するように設計されています。[7]また、 Node.jsサービスとのネイティブ統合やプロセス間通信モジュールなどの機能を有効にするために、さまざまなAPIを使用します。
ElectronはもともとAtom [5]用に構築され、 GitHub Desktop、Light Table、[8] Visual Studio Code、WordPress Desktop、[9] Eclipse Theia [10]など、他のオープンソースプロジェクトの主要なGUIフレームワークとなっています。
建築
Electron アプリケーションには、「メイン」プロセスと複数の「レンダラー」プロセスが含まれます。メインプロセスはアプリケーションのロジック (メニュー、シェル コマンド、ライフサイクル イベントなど) を実行し、クラスのインスタンスをインスタンス化して複数のレンダラー プロセスを起動できます。このインスタンスは、 HTMLとCSSBrowserWindowをレンダリングして画面に表示されるウィンドウをロードします。[引用が必要]
メイン プロセスの フィールドが に設定されている場合、メイン プロセスとレンダラー プロセスの両方を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]
使用法
Electronで構築されたデスクトップアプリケーションには、Atom、[28] balenaEtcher、[29] Eclipse Theia、[10] Microsoft Teams 2.0以前、[30] [31] Slack、[32] Visual Studio Code [33]などがあります。[34] Braveブラウザは、 Chromiumを直接使用するように書き直される前はElectronをベースにしていました。[35]
受付
Electron に対する最も一般的な批判は、単純なプログラムに使用するとソフトウェアの肥大化を招くというものである。 [36]その結果、Michael Larabelは、このフレームワークを「多くの Linux デスクトップ ユーザーの間で、リソースが重く、ほとんどのデスクトップとうまく統合されず、一般的に軽蔑されていることで悪名高い」と評した。[37] 研究者は、Electron の大規模な機能セットが、ソース JavaScript ファイルへの書き込みアクセス権を持つ悪意のある人物によってハイジャックされる可能性があることを示した。これには *nix システムでのルート アクセスが必要であり、Electron 開発者はこれを脆弱性とは見なしていない。[38] Electron が常に最新バージョンの Chromium に基づいているわけではないことを懸念する人々は、代替手段としてプログレッシブ ウェブ アプリケーションを推奨している。 [39]
参照
参考文献
- ^ "electron/electron". GitHub . 2016年8月2日時点のオリジナルよりアーカイブ。 2018年5月8日閲覧。
- ^ 「リリース 33.0.0」。2024年10月14日。 2024年10月16日閲覧。
- ^ 「Release electron v34.0.0-alpha.1 · electron/electron」。GitHub。2024年10月15日。 2024年10月16日閲覧。
- ^ “electron/LICENSE at master”. GitHub . 2017年5月12日時点のオリジナルよりアーカイブ。 2020年7月3日閲覧。
- ^ ab Sawicki, Kevin (2015年4月23日). 「Atom Shell is now Electron」. Electron . 2017年11月9日時点のオリジナルよりアーカイブ。 2022年1月6日閲覧。
- ^ “JavaScript、HTML、CSS でクロスプラットフォーム デスクトップ アプリを構築する | Electron”. 2022 年 5 月 9 日時点のオリジナルよりアーカイブ。2023 年2 月 1 日閲覧。
- ^ 「Electron Internals: Using Node as a Library」. electronjs.org . 2016年8月8日. 2017年11月9日時点のオリジナルよりアーカイブ。 2020年7月3日閲覧。
- ^ Horner, Gabriel (2015年12月10日). 「Light Table 0.8.0」. lighttable.com. 2015年12月13日時点のオリジナルよりアーカイブ。2020年7月3日閲覧。
- ^ “GitHub リポジトリ”. GitHub . 2016年2月19日時点のオリジナルよりアーカイブ。2019年6月16日閲覧。
- ^ ab “Theia - クラウドおよびデスクトップ IDE プラットフォーム”. theia-ide.org . 2018年4月20日時点のオリジナルよりアーカイブ。2021年12月31日閲覧。
- ^ “From native to JavaScript in Electron | Electron Blog”. electronjs.org . 2019年3月19日. 2019年4月26日時点のオリジナルよりアーカイブ。 2019年4月26日閲覧。
- ^ “New Electron Release Cadence | Electron”. electronjs.org . 2021年7月14日. 2021年7月14日時点のオリジナルよりアーカイブ。 2022年2月9日閲覧。
- ^ “Electron Releases | Electron”. electronjs.org . 2022年12月16日時点のオリジナルよりアーカイブ。 2022年12月16日閲覧。
- ^ 「Release electron v33.0.0 · electron/electron」。GitHub 。 2024年10月14日。 2024年10月16日閲覧。
- ^ “Release electron v28.0.0 · electron/electron”. GitHub . 2023年12月4日. 2023年12月14日時点のオリジナルよりアーカイブ。 2023年12月14日閲覧。
- ^ “Release electron v27.0.0 · electron/electron”. GitHub . 2023年10月10日. 2023年10月11日時点のオリジナルよりアーカイブ。 2023年10月11日閲覧。
- ^ “Release electron v26.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧。
- ^ “Release electron v25.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧。
- ^ “Release electron v24.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧。
- ^ “Release electron v23.0.0 · electron/electron”. GitHub . 2023年9月23日時点のオリジナルよりアーカイブ。 2023年9月23日閲覧。
- ^ ab “Release electron v22.0.0 · electron/electron”. GitHub . 2022年12月15日時点のオリジナルよりアーカイブ。2022年12月16日閲覧。
- ^ ab “Release electron v21.0.0 · electron/electron”. GitHub . 2022年12月16日時点のオリジナルよりアーカイブ。2022年12月16日閲覧。
- ^ “Release electron v20.0.0 · electron/electron”. GitHub . 2022年12月16日時点のオリジナルよりアーカイブ。2022年12月16日閲覧。
- ^ abc “Release electron v19.0.0 · electron/electron”. GitHub . 2022年5月31日時点のオリジナルよりアーカイブ。2022年5月31日閲覧。
- ^ ab “Release electron v18.0.0 · electron/electron”. GitHub . 2022年5月4日時点のオリジナルよりアーカイブ。2022年5月4日閲覧。
- ^ ab “Release electron v17.0.0 · electron/electron”. GitHub . 2022年2月12日時点のオリジナルよりアーカイブ。2022年2月28日閲覧。
- ^ ab “Release electron v16.0.0 · electron/electron”. GitHub . 2021年12月6日時点のオリジナルよりアーカイブ。2021年12月3日閲覧。
- ^ Sawicki, Kevin (2015年4月23日). 「Atom Shell is now Electron」. Electron . 2019年10月16日時点のオリジナルよりアーカイブ。 2017年7月15日閲覧。
- ^ “Etcher on GitHub”. GitHub . 2018年11月16日時点のオリジナルよりアーカイブ。2020年7月7日閲覧。
- ^ msdmaguire. 「Microsoft Teams のメモリ使用方法 - Microsoft Teams」. docs.microsoft.com . 2020 年 12 月 8 日時点のオリジナルよりアーカイブ。2021年11 月 12 日閲覧。
- ^ Redmond, Tony. 「Teams 2.0 は Electron から Edge WebView2 に移行」。ITプロフェッショナル向け Office 365。2024年8 月 2 日閲覧。
- ^ 「Electron でハイブリッド アプリケーションを構築する」。Several People Are Coding。2016 年 10 月 25 日。2019 年 10 月 16 日時点のオリジナルよりアーカイブ。2017年8 月 12 日閲覧。
- ^ Bright, Peter (2015年4月29日). 「Microsoftの新しいコードエディターはGoogleのChromium上に構築されています」。Ars Technica。 2015年5月7日時点のオリジナルよりアーカイブ。 2015年11月18日閲覧。
- ^ “オープンソースプロジェクト”. GitHub . 2022年3月29日. 2015年11月23日時点のオリジナルよりアーカイブ。 2018年5月20日閲覧。
- ^ Singh, Jagmeet (2017年1月3日). 「人々は今やJavaScriptで機械学習さえ行っている」。Open Source For U. 2017年1月7日時点のオリジナルよりアーカイブ。2022年8月26日閲覧。
- ^ Proven, Liam (2021年11月19日). 「Some FOSS gems: Franz, RamBox, Pidgin and more」. The Register. 2021年11月19日時点のオリジナルよりアーカイブ。2022年8月26日閲覧。
- ^ Larabel, Michael (2019年2月9日). 「Electronアプリはダメなので、HTML5 + Golangでデスクトップアプリを作成できるようになりました」. Phoronix. 2022年8月26日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧。
- ^ Gallagher, Sean (2019年8月7日). 「Skype、Slack、その他のElectronベースのアプリは簡単にバックドアを作られる可能性がある」 Ars Technica. 2019年8月7日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧。
- ^ Hoffman, Chris (2019年8月15日). 「そのネイティブアプリはおそらく単なる古いウェブブラウザです」。How To Geek。2019年8月15日時点のオリジナルよりアーカイブ。 2022年8月26日閲覧。
外部リンク
- 公式サイト
