サーバーから配信されるアプリケーションをデスクトップで実行するためのランチャーアプリケーションです。
このプロジェクトは、クライアント-サーバー構成のアプリケーション配信システムです。
- Client (
client/): Wails で構築されたデスクトップアプリ。サーバーからアプリケーション一覧を取得し、選択したアプリをダウンロード・実行します。 - Server (
server/): アプリケーションのマニフェストを管理し、リクエストに応じてビルド・配信を行う HTTP API サーバーです。
- Go (Wails v2) - デスクトップアプリケーションフレームワーク
- React + TypeScript - フロントエンド
- Mantine - UI コンポーネントライブラリ
- Vite - ビルドツール
- Go - HTTP サーバー
- REST API によるアプリケーション一覧・アーティファクト提供
.
├── client/ # Wails デスクトップアプリ
│ ├── frontend/ # React フロントエンド
│ ├── app.go # アプリケーションロジック (保存・実行)
│ ├── main.go # エントリーポイント
│ └── wails.json # Wails 設定
│
└── server/ # HTTP API サーバー
├── main.go # サーバーエントリーポイント
└── server-files/ # アプリケーション配信用リソース
└── manifest.json # アプリケーション定義ファイル
- サーバーアドレスの設定・保存
- サーバーからアプリケーション一覧を取得
- アプリケーションの詳細表示
- アーティファクト(ZIP / バイナリ)のダウンロードと実行
- クロスプラットフォーム対応(macOS / Windows / Linux)
/api/v1/status- サーバー状態確認/api/v1/applications- アプリケーション一覧の取得/api/v1/applications/{name}/artifact- アーティファクトのビルド・取得
- Go 1.18 以上
- Node.js 16 以上
- Wails CLI (
go install github.com/wailsapp/wails/v2/cmd/wails@latest)
cd client
wails devcd server
go run main.goサーバーは http://localhost:8080 で起動します。
cd client
wails buildビルドされたバイナリは client/build/bin/ に出力されます。
server/server-files/manifest.json でアプリケーションを定義します。
[
{
"name": "App Name",
"description": "Description of the application",
"artifact_type": "zip | binary",
"build_command": "build command to run",
"artifact_path": "path/to/artifact",
"run_command": "command to run the app"
}
]MIT License