基本情報
概要
Electron(エレクトロン)とは、クロスプラットフォーム開発/実行フレームワークです。Web技術(HTML5、Node.js、JavaScript)を使用してデスクトップアプリケーションを開発できます。
基本説明
Electronは、HTML/CSS/JavaScriptなどのWeb技術で、プラットフォームの違いを気にせず、手軽に、Windows/Mac/Linuxで動作するデスクトップアプリケーションを作成できます。
サーバサイドJavaScript開発フレームワーク「Node.js」+オープンソースブラウザ「Chromium」をランタイムとして動作します。メインプロセスは「Node.js」が担当し、レンダリングプロセスは「Chromium」が担当します。Webアプリケーションとブラウザを1つのパッケージとして、デスクトップアプリケーションを動作させます。
既存のWebベースサービスと親和性が高く、Electronアプリケーション内部で外部のコンテンツを読み込むこともできます。
セキュリティ上の注意点
デスクトップアプリケーションであるため、ブラウザ(Chromium)としての機能だけでなく、OSネイティブの各機能を使える仕組みになっています。
とても便利で有用な技術ではありますが、強力な機能を使用できるため、万が一悪用されてしまうと大きな被害を出してしまう危険性があります。
Electronは、基本的にセキュリティ保護機能はなく、Webアプリ向けの保護機能も限定的にしか働きません。
よって、セキュリティについては十分注意する必要があります。
経緯
開発元はGitHub社です。
Electron(旧称: Atom-Shell)は、コードエディタ「Atom」を開発するために生まれた、クロスプラットフォームデスクトップアプリケーションエンジンのネイティブ部分をSDKとして公開したプロジェクトです。
主な特徴
Chromiumブラウザ内蔵
Electronは、Google製ブラウザ「Chrome」のオープンソース版「Chromium」を内蔵しています。
そのため、ブラウザ/ランタイムへ依存しないアプリケーションを簡単に提供できます。
フルHTML5アプリケーション
一部のブラウザでは、HTML5の特定機能が使えない場合がありますが、ElectronはChromiumを内蔵しています。
Chromiumのみを対象として、HTML5機能をフルに活用できます。
HTMLアプリケーションと同じようにデスクトップアプリケーションを開発
Webアプリケーションを作成するように、デスクトップアプリケーションを開発できます。
Webアプリケーションのみを提供していたベンダーが、そのままデスクトップ版アプリケーションを提供できます。
Webアプリケーション関連ライブラリなどもそのまま流用できるため、効率的な開発が可能です。
ネイティブ環境との連携
メニュー、クリップボード、ファイル操作、オートアップデートなどの、ネイティブ環境機能と連携できます。
RDBMSとの連携
Oracle Database用「node-oracledbモジュール」、PostgreSQL用「node-postgresモジュール」などの各種接続用ドライバが用意されており、RDBMSとの連携も容易に行えます。
単一ソースでのクロスプラットフォーム
Chromiumがプラットフォーム間差異を吸収する役割を担っています。プラットフォームごとにアプリケーションに同梱するChromiumを変更することで、単一ソースでのクロスプラットフォームが可能になっています。
主な機能
・アプリケーション自動更新機能
・クラッシュレポーティング機能
・Windowsインストーラ作成ツール
・デバッグ機能
・印刷機能
・ネイティブメニュー機能
・通知機能
・Node.jsプラグイン機能
同様製品(概要情報)
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Node.js」「NW.js (node-webkit.js)」「Qt」「PhoneGap (Cordova)」など。
導入事例
・コードエディタ「Atom」(Github社)
・コードエディタ「Visual Studio Code」(Microsoft社)
・Markdownエディタ「Kobito for Windows」(Increments社)
・コミュニケーションツール「Slack」
・デザインフロー改善ツール「Avocode」
・「Docker GUI」(Docker社)
など
ライセンス情報
Electronのライセンスは、「MITライセンス」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。