Electron について調べてみた
最近では、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 ともに実装)。通常、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:58Node.js は、イベント化された入出力を扱うUnix系プラットフォーム上のサーバーサイドJavaScript環境である。
V8 JavaScriptエンジンで動作する。