Go でデスクトップアプリを構築
Go と最新の Web 技術を使用して、美しく高性能なアプリケーションを構築できます。1 つのコードベース。3 つのプラットフォーム。ブラウザー不要。*
* どうしても使いたい場合を除く
クイックスタート
# 1. Install the Wails CLI
go install github.com/wailsapp/wails/v3/cmd/wails3@latest
# 2. Run the setup wizard (experimental)
wails3 setup
これで、最初のプロジェクトを作成する準備が整いました。
wails3 init -n myapp -t vanilla
cd myapp && wails3 dev
アプリケーションが起動しました。ホットリロードと型安全な Go-to-JS バインディングが有効になっています。
wails3 setupで問題が発生していますか?手動インストールガイドを参照してください。
デスクトップアプリがそのままモバイルアプリに
wails3 task ios:run # run your existing app on iOS Simulator
wails3 task android:run # run your existing app on Android Emulator
Go コードの変更は一切不要です。 同じmain.go、同じサービス、同じフロントエンドを、Wails が iOS および Android 向けに自動的にコンパイルします。プラットフォーム固有の機能(触覚フィードバック、ネイティブダイアログ、セーフエリア)も必要に応じて利用できますが、リリースに必須ではありません。
Wails を選ぶ理由
ユーザーが実感できるパフォーマンス
- バイナリサイズは約15MB(Electron は150MB)
- ベースラインメモリ使用量は約10MB(比較対象は100MB 以上)
- 起動時間は<0.5秒(比較対象は2-3秒)
- OS の WebView を使用したネイティブレンダリング
- ブラウザーを同梱するオーバーヘッドなし
開発者体験
- すべてのプラットフォームに対応する単一の Go コードベース
- React、Vue、Svelte など、あらゆる Web フレームワークに対応
- 開発中のホットリロード
- 自動生成されたバインディングにより、Javascript から Go を簡単に呼び出し可能
- インメモリ IPC。ネットワークポートは使用しません
デスクトップ対応
- ライフサイクルを備えた複数ウィンドウ
- ネイティブメニューとシステムトレイ
- 各プラットフォームのネイティブなファイルダイアログ
- システム連携とショートカット
- コード署名およびパッケージングツール
デスクトップ&モバイル
- Windows、macOS、Linux、iOS、Android
- 同じコードベースを使用し、書き直しは一切不要
- すべてのプラットフォームでネイティブ WebView を使用
- 開いているポートも localhost サーバーもありません
- 必要に応じてプラットフォーム固有の機能を利用可能
次のステップ
次は、完全なアプリケーションを構築する、サンプルを見る、またはAPI リファレンスを確認してください。v2 から移行する場合は、アップグレードガイドを参照してください。
Wails の開発を支援
Wails は、開発者が開発者のために作る、無料のオープンソースソフトウェアです。Wails が優れたアプリケーションの構築に役立っている場合は、継続的な開発への支援をご検討ください。
スポンサーからの支援は、プロジェクトの維持、ドキュメントの改善、そしてコミュニティ全体に役立つ新機能の開発に活用されます。