Electronで作るクリップボード履歴アプリ開発入門


この記事は、Electron と HTML/CSS/JavaScript を使って開発した「クリップボード履歴管理アプリ」の完成までの実装手順を整理した手順ガイドです。


目的

Mac上で実行できる、履歴を自動保存するクリップボードアプリを作成

UIにより履歴の再利用、お気に入り登録、削除を表示よりスムーズに操作

Electron ビルド完成後に .app 化 して Dock や Finder からのワンクリック起動を可能に

機能要件

機能カテゴリ内容
クリップボード監視1秒ごとに Electron の clipboard.readText() で監視し、localStorage に保存
履歴表示「通常」と「お気に入り」をタブ切替で表示し、最新順で並べ替え
再コピー / 削除 / お気に入り各履歴項目の右側にアイコンで再操作可能
ダークモード切替OSのテーマを取得し、localStorageに記憶。切り替えトグルボタン付き
起動ウィンドウ位置ディスプレイ左上の25%に自動配置(高さ90%で中央寄せ)
Dock起動 & ショートカットAutomator Quick Action + macOSのキーボードショートカットと連携
ビルド & GitHub Pushelectron-packager.app 作成、.gitignore で除外。Gitの制限回避済み

実装手順

【1. ファイル構成を作成】

electron_clipboard_app/
├── index.html
├── main.js
├── preload.js
├── package.json
├── js/
│   └── script.js
├── css/
│   └── style.css
└── .gitignore

【2. Electron の基礎構成を作成】

main.js で BrowserWindow を定義

preload.js で contextBridge 経由で clipboardイベントを接続


【3. HTML + CSS + JS で UI/UX 実装】

index.html に textarea + コピーボタン + tabs

style.css で表示分割, dark/light class

script.js でデータ管理, localStorage, ElectronAPI連携


【4. .gitignore と GitHub push】

.gitignore に以下を追加

node_modules/
*.app
clipboard-app-darwin-*/
.DS_Store

push 時は git add . → git commit → git push (または -f)


【5.後続のアップデートのための組み込み】

Dock や Quick Action からの起動済

.app は Electron Packager で再生成

後日の updater や Release の自動化も検討可


おわりに

このアプリは、ちょっとした日常の作業を快適にしてくれる「自分専用ツール」としての使い道にぴったりです。

Electron の学習や、自作アプリのパッケージング方法の理解にも役立つ構成になっていますので、今後の開発のたたき台として活用していただければうれしいです。

気になる機能の追加や改善も自由に試せますので、あなたの好みに合わせてどんどん育ててみてください!

Githubサンプルコード