Blogブログ

Electron 第1回

エンジニアの信尾海翔です。
第五回目のブログではElectronについてまとめたいと思います。

Electronとは

Github社が開発したソフトウェアフレームワークです。
html、css、javascriptなどを使ってmac、windows、linuxなどで動作するデスクトップアプリケーションを作成することができます。
Visual Studio Code、Twitch、MicrosoftTeamsなど様々なアプリケーション開発に使われています。

実際にElectronを使ってデスクトップアプリケーションを作成する

今回は実際にElectronを使って「Hello world」を表示させる簡単なデスクトップアプリケーションを作成したいと思います。
※Electronの開発にはNode.jsが必要です。Node.jsのインストールについては今回は省略します。

まず適当なフォルダを用意、フォルダに移動して

  • index.html
  • index.js
  • package.json(npm init)

 
の三つを用意します。

フォルダ内でElectronをインストール

npm install electron —save-dev

index.htmlに表示させたい文字列を追加(今回は「Hello world」)

index.jsに以下のコードを追加


const { app, BrowserWindow } =require("electron");

function createWindow(){
    win = new BrowserWindow();
    win.loadFile('index.html');
}

app.on('ready', createWindow);

app.on('window-all-closed', () => {
    if(process.platform !== 'darwin'){
        app.quit()
    }
})

コード内容について


function createWindow(){
    win = new BrowserWindow();
    win.loadFile('index.html');
}

関数createWindowはウィンドウの作成しています。
new BrowserWindow()でオブジェクトを生成し、loadFileを使って
作成したindex.htmlを呼び出しています。
new BrowserWindow内ではウィンドウの横幅、高さなどを指定することもできます。


app.on('ready', createWindow);

Electronの起動時にcreateWindowを呼び出しウィンドウの生成を行っています。


app.on('window-all-closed', () => {
    if(process.platform !== 'darwin'){
        app.quit()
    }
})

ウィンドウを閉じた時にapp.quit()を実行し、macの場合でもアプリケーションを終了する処理を行っています。

package.jsonのscriptsに以下を追加

“start”: “electron .”

Electronを起動させるコマンドは「electron パス」となります。

最後にElectronを起動

npm start

以下のような画面が表示されると成功です。

余談

ローグライク系のゲームが好きで、学生の頃にjavascriptで作成した簡単な不思議のダンジョンをデスクトップアプリケーションとして遊べるようにしたいと思い、Electronに興味を持ちました。
今回は簡単な文字列を表示させるだけでしたが、また色々勉強して「第2回」としてブログにまとめたいと考えています。

信尾

執筆者

Developer

信尾