D2MatE Top

ElectronによるWebベースデスクトップアプリ開発

Electronとは

Web開発の技術を活かしてクロスプラットフォームのデスクトップアプリを効率的に開発できる


開発例

このZIPファイル は、本Webサイトのトップページ プログラム情報 - 智慧とデータが拓くエレクトロニクス新材料開発拠点 をデスクトップアプリ化したものです。
注意: localファイルへのリンクがありますが、optimize以下 (optimize_flex - D2MatE) のファイルしか入れていませんので、その他のページにはアクセスできません。
 外部URLにリンクをつなげる場合は、リンクURLを書き換える必要があります。
一括で書き換える場合は、次のプログラムが参考になります。

 リンクを書き換えるプログラム:

Electronのインストール方法: ページ最後にあります

一般的なElectronアプリの作成手順

  1. プロジェクトのセットアップ
    ・ Node.jsのインストール
    > mkdir my-electron-app
    > cd my-electron-app
    > npm init -y
    > npm install electron --save-dev
     
  2. メインスクリプト main.js の作成
    main.js:
    const { app, BrowserWindow } = require('electron');
    function createWindow() {
      const win = new BrowserWindow({ width: 800, height: 600 });
      win.loadFile('index.html');                  // ここを別のHTMLに変えると別のアプリを作れる
                         // 上のd2mateapp.exeでは、D2MatE_programs_main.html に変更

    }
    app.whenReady().then(createWindow);
      
  3. メインウインドウのHTMLファイルの作成
    index.html:

    <!DOCTYPE html>
    <html>
    <head>
    <title>My Electron App</title>
    </head>
    <body>
    <h1>Hello, Electron!</h1>
    </body>
    </html>
      
  4. 動作確認: コンパイルせずアプリを実行
    > npx electron .
     
  5. ビルド (コンパイル) の実行
    ・Electron Builderのインストール
    > npm install --save-dev electron-builder
     
    ・package.jsonに追加
    {
      "name": "d2mateapp",
      "version": "1.0.0",
      "main": "main.js",
      "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "description": "",
      "devDependencies": {
      "electron": "^33.2.1",
      "electron-builder": "^25.1.8"
      },
      
      "scripts": {
      "build": "electron-builder"
      },
      "build": {
      "appId": "com.example.myapp",
      "mac": {
      "category": "public.app-category.utilities"
      },
      "win": {
      "target": "nsis"
      },
      "linux": {
      "target": "AppImage"
      }
      }
    }
     
    > npm run build
     
  6. インストールと実行
    > "dist\d2mateapp Setup 1.0.0.exe"
     
  7. 次回からの実行
    > dist\win-unpacked\d2mateeapp.exe

Electronのインストール方法

  1. Node.js をインストール
  2. Window: > npm install -g electron
    Linux: % sudo npm install -g electron
  3. 動作テスト
    > electron

Node.jsのインストール方法

Node.js: https://nodejs.org/en(https://nodejs.org/en

Node.jsアプリの実行
% node app.js

Node.jsアプリの実行可能ファイル作成

  1. pkgのインストール
    > npm install -g pkg
     
  2. package.jsonの作成
    package.json:
    {
    "name": "my-app",
    "version": "1.0.0",
    "main": "index.js",
    "scripts": {
    "start": "node index.js"
    }
    }
     
  3. 実行可能ファイルの作成
    % pkg . --targets node14-win-x64,node14-macos-x64,node14-linux-x64
     
  4. 実行
    % ./my-app.exe