Electron について調べてみた

投稿者: | 2019年4月30日

最近では、Electron で開発されたアプリを使うことが増えてきました。
Web技術でつくるデスクトップアプリ、ぐらいの知識しかなかったため、まとめてみました。
今までは、Webアプリばかり作っていましたが、Electron もありかなと思い始めています。
(実は JavaScript 苦手です…)。

Electron って?

Web技術でデスクトップアプリケーションを開発することができるフレームワークです。

使用技術

言語

使用される言語は、以下のようなクライアントサイドものがメインです。

  • HTML5
  • CSS
  • JavaScript
  • API

環境

  • Chromium
  • Node.js

※Node.js 登場以降、JavaScript はサーバサイドにも活躍の場が広がりました。

クロスプラットフォーム

HTML5・CSS・JS で記述されたものですので、クロスプラットフォームです。
※Electron実行時に利用される Chromium、Node.js もクロスプラットフォームですし。

互換性

ビューが Chromium 一択なので、Webブラウザのような互換性問題が発生しません。
※しかも、社内利用であれば JavaScript エンジンも固定にできるでしょう。

ランタイム(実行環境)

ソースコードを実行するための環境として以下を利用します。

  • Chromium
    GUI(ビュー)部分には Chromium の Blink レンタリングエンジンを利用します。
    また、JavaScript コンパイラには Chromium V8 JavaScript エンジンを使用します。
    (V8 エンジンはバージョンが異なるものの、Chromium・Node.js ともに実装)。

    Electron FAQ · GitBook

    通常、Node.js の新しい機能は V8 のアップグレードによってもたらされますが、Electron は Chrome ブラウザーに搭載されている V8 を使用しているので、新しい Node.js に入ったばかりのピカピカに新しい JavaScript 機能は Electron ではたいてい既に導入されています。

  • Node.js
    Node.js 特有のソース解析(APIなど)。

Node.js って?

一言でまとめると、Node.js は(N/Wやファイル I/O などの API を追加した)サーバサイド JavaScript の実行環境です。
長らく、V8 JavaScript エンジンに依存した設計になっていましたが、近年 N-API(Node.js API)で V8 以外も使えるようになりました。
※Node.js のコードは JavaScript エンジンを介してコンパイルされます。

base on Node.js – Wikipedia
最終更新 2018年3月4日 (日) 21:58

Node.js は、イベント化された入出力を扱うUnix系プラットフォーム上のサーバーサイドJavaScript環境である。

V8 JavaScriptエンジンで動作する。