【JavaScript】Electronで始める! Windows/Mac対応デスクトップアプリ開発 〜導入編〜

目次

概要

JavaScript、HTML、CSS の知識のみでデスクトップアプリの作成方法を紹介します!

Electron というフレームワークを使用します😎

いくつかの記事に分けて紹介する予定で、本記事では基礎的なElectronを使ったビルドについて扱います。

Electron とは

JavaScript、HTML、CSS によるデスクトップアプリケーションを構築するフレームワークです。
Windows、macOS、Linux で動作するクロスプラットフォームアプリを作成できます!

コード

ひとまず公式ドキュメントのサンプルコードをそのまま使用します。

index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta
      http-equiv="Content-Security-Policy"
      content="default-src 'self'; script-src 'self'"
    />
    <meta
      http-equiv="X-Content-Security-Policy"
      content="default-src 'self'; script-src 'self'"
    />
    <title>Hello from Electron renderer!</title>
  </head>
  <body>
    <h1>Hello from Electron renderer!</h1>
    <p>👋</p>
    <p id="info"></p>
  </body>
  <script src="./renderer.js"></script>
</html>
main.js
const { app, BrowserWindow } = require('electron/main')

//ウインドウを作成
const createWindow = () => {
  const win = new BrowserWindow({
    width: 800,
    height: 600
  })

  win.loadFile('index.html')
}

//ウインドウの立ち上げ
app.whenReady().then(() => {
  createWindow()

  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow()
    }
  })
})

//ウインドウを閉じる処理
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

手順

Mac、Windowsどちらの環境でもいいようにDockerで環境を構築します。

Dockerについてはこちらを参考にしてみてください。

1.コンテナを作成

docker run -it -d --name tmp -p 8000:8000 ubuntu:22.04 

2.コンテナに入る

docker exec -it tmp /bin/bash

3.ubuntuのアップデート

apt update
apt upgrade

3.必要プログラムのインストール

apt install vim
apt install wget
apt install curl
apt install npm
apt instakk nodejs

4.作業ディレクトリの作成と移動

cd home
mkdir app
cd app 

5.index.htmlの作成

vi index.html

エディターが立ち上がるので、コードのindex.htmlを貼り付けてください。

その後

6.main.jsの作成

vi  main.js

エディターが立ち上がるので、コードのmain.jsを貼り付けてください。

7.下準備 

npm init -y

8.Node.jsのバージョンを上げつためのツールをインストール

バージョンを上げないと、Electronのインストールに失敗します。

# nvmのインストールスクリプトをダウンロードして実行
# 'curl' または 'wget' のどちらか一方でOKです。
# v0.40.3の部分は、最新のバージョンに置き換えてください。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# 上記のcurlコマンドがうまくいかない場合や、wgetが好きな方はこちら

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# nvmの環境設定を現在のシェルに読み込む
# 通常、インストールスクリプトが~/.bashrcまたは~/.zshrcに設定を追記します。
source ~/.bashrc

↓反映が成功しているか確認↓

バージョンが表示されていれば成功です。

nvm --version

9.Node.jsのバージョンを上げる

nvm install 22

## ↓成功してるか確認できます。
node -v

10.ここでやっとElectronのインストール

npm install electron --save-dev

11.パッケージ化するためのツールをインストール

npm install @electron/packager --save-dev

12.コマンドの定義

vi package.json

↓ package.jsonのscriptの箇所に追記します↓

"package:mac": "npx @electron/packager . my-electron-app --platform=darwin --arch=universal --out=./build --overwrite",
"package:win": "npx @electron/packager . my-electron-app --platform=win32 --arch=x64 --out=./build --overwrite", 
"package:linux": "npx @electron/packager . my-electron-app --platform=linux --arch=x64 --out=./build --overwrite", 
"package:all": "npx @electron/packager . my-electron-app --all --out=./build --overwrite”,
"package:mac-arm64": "npx @electron/packager . my-electron-app --platform=darwin --arch=arm64 --out=./build --overwrite",

13.うまく追記できたか確認

npm run

↓ 成功した時↓

追加成功

14.パッケージ化のコマンド

コマンドが失敗する場合は、12.コマンドの定義を確認してみてください。

エラー文をそのままAIに読み込ませるのが手っ取り早いです。

✅AppleシリコンのMac用にビルドするコマンド

npm run package:mac-arm64


Wrote new app to:~と表示されたら成功です!

Windows用にビルドするコマンド

npm run package:win

↓パッケージ化されたアプリが出力される場所↓

app>build>my-electron-app-darwin-arm64>my-electron-app

アプリを開くをこのようなウィンドウが立ち上がるはずです!

成功画面

まとめ

本記事では公式ドキュメントサンプルをもとにアプリを作成してみました。

次の記事はちょっとしたアプリをパッケージがしてみようと思います。

正直、どのようなアプリにするか悩み中です。

楽しみしてもらえたら幸いです。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次