コントリビュート

このドキュメントを編集

ドキュメントを翻訳するか、お使いのコンピューターでプロジェクト全体を開きます。

作業内容を送信するまで、何も公開されません。

Wails v3 の新機能

Wails v3 の主な改善点と新機能をご紹介します

Wails v3 では、v2 から大幅な変更が加えられています。単一ウィンドウ向けの宣言型 API は、より柔軟な手続き型アプローチに置き換えられました。この新しい API 設計により、コードの可読性が向上し、特に複雑なマルチウィンドウアプリケーションの開発が簡素化されます。

Wails v3 は、Go と Web 技術を使用したデスクトップアプリケーションの構築方法を大きく進化させます。

複数ウィンドウ

Wails v3 では、単一のアプリケーション内で複数のウィンドウを作成、管理できるようになりました。この機能により、単一ウィンドウアプリケーションの制約を超え、より複雑で汎用性の高いユーザーインターフェースを設計できます。

各ウィンドウのサイズ、位置、コンテンツ、動作は個別に設定できます。この柔軟性により、メインインターフェース、設定パネル、補助ビューなど、機能ごとに独立したウィンドウを持つアプリケーションを作成できます。

開発者はこれらのウィンドウをプログラムから作成、操作、管理できるため、ユーザーのニーズやアプリケーションの状態に適応する動的なユーザーインターフェースを実現できます。

システムトレイとの統合

Wails v3 では、システムトレイ機能が強力にサポートされ、アプリケーションをユーザーのデスクトップに常駐させられるようになりました。この機能は、バックグラウンドでの実行や主要機能へのすばやいアクセスが必要なアプリケーションに特に便利です。

Wails v3 のシステムトレイ統合には、次の主要機能があります。

  1. ウィンドウの関連付け:システムトレイアイコンにウィンドウを関連付けられます。ウィンドウがアクティブになると、アイコンの位置を基準に中央へ配置されるため、アプリケーションへすばやくアクセスできます。

  2. 充実したメニューサポート:ユーザーがシステムトレイアイコンから直接アクセスできる、高機能でインタラクティブなメニューを作成できます。アプリケーションの完全なウィンドウを開かなくても、操作をすばやく実行できます。

  3. テーマに適応するアイコン表示:ライトモード用とダークモード用の両方のアイコンがサポートされるため、システムテーマが異なっても、アプリケーションのシステムトレイアイコンは見やすく美しい表示を維持できます。macOS ではテンプレートアイコンもサポートされます。

バインディング生成の改善

Wails v3 では、プロジェクトのバインディング生成方法が大幅に改善されています。バインディングは Go バックエンドとフロントエンドをつなぐ役割を果たし、両者間のシームレスな通信を可能にします。

バインディングの生成には高度な静的解析ツールが使用されるようになり、生成プロセスが抜本的に改善されました。処理速度が向上したほか、コメントとパラメーター名が維持されるため、コード品質も保たれます。

バインディングの生成プロセスが簡素化され、必要なコマンドは wails3 generate bindings の 1 つだけになりました。

ビルドシステムの改善

Wails v3 では、従来の制約を解消する、より柔軟で透明性の高いビルドシステムが導入されています。v2 では、ビルドプロセスの大部分が不透明でカスタマイズしにくかったため、プロジェクトのビルドプロセスをより細かく制御したい開発者にとって、使いづらい場合がありました。

アイコン生成やマニフェスト作成など、v2 のビルドシステムが担っていた主要な処理は、すべて CLI のツールコマンドとして追加されました。これらの呼び出しをオーケストレーションし、v2 と同じ開発者体験を実現するために、Taskfile を CLI に組み込みました。このアプローチにより、ニーズに合わせてビルドプロセスをカスタマイズできるようになり、柔軟性と使いやすさを最適なバランスで両立できます。

お好みであれば、make も使用できます。

イベント機能の改善

Wails は、さまざまなランタイム操作やシステムアクティビティに応じてイベントを発行するようになりました。 これにより、アプリケーションはこれらのイベントにリアルタイムで応答できます。 さらに、クロスプラットフォーム(共通)イベントも利用できるため、異なるオペレーティングシステム間で動作する一貫したイベント処理メソッドを記述できます。

イベントフックを登録すると、特定のイベントを同期的に処理できます。On メソッドとは異なり、これらのフックでは必要に応じてイベントをキャンセルできます。一般的なユースケースは、ウィンドウを閉じる前に確認ダイアログを表示することです。これにより、イベントフローとユーザー体験をより細かく制御できます。

Wails Markup Language(wml)

htmx と同様に、プレーンな HTML を使用してランタイムメソッドを呼び出すための実験的な機能です。

例

examples ディレクトリには、ほかにも例が用意されています。ぜひ確認してください!

ページを編集

最終更新: