Microsoft、Windowsアプリ開発を効率化する新CLIツール「winapp」をオープンソース化

はじめに

Microsoftは、Windowsアプリケーション開発を大幅に簡素化する新しいオープンソースのコマンドラインツール、Windows App Development CLI(winapp)のパブリックプレビューを発表しました。このツールは、従来のVisual StudioやMSBuild環境外で作業する開発者を主なターゲットとしています。

「winapp」CLIとは

winapp CLIは、Electron、.NET、C++、Rust、Dartなど、さまざまなクロスプラットフォームフレームワークを使用する開発者向けに設計されています。これにより、Windows AI API、セキュリティ機能、シェル統合といったモダンなWindows APIへ、どの開発ツールチェーンからでも直接アクセスできるようになります。

従来のWindows開発には、複数のSDKの管理、マニフェストの編集、証明書の生成、複雑なパッケージング要件への対応といった手間が伴いました。winapp CLIはこれらのタスクを統一されたコマンドラインインターフェースに統合し、開発者が設定管理ではなく、アプリケーション構築に集中できるようにします。

主要機能

  • 環境設定の自動化: winapp initコマンドは、必要なSDKパッケージのダウンロード、C++/WinRTプロジェクションの生成、マニフェスト作成、アセット生成、証明書設定、依存関係管理を含むワークスペースのブートストラップを自動化します。
  • デバッグ用パッケージID: winapp create-debug-identityを使用すると、実行可能ファイルにパッケージIDを追加でき、パッケージ化とインストールを完全に行うことなく、パッケージIDを必要とするAPI(Windows AI API、セキュリティ、通知、MCPホストなど)のテストを即座に行うことが可能になります。
  • マニフェストと証明書の管理: このCLIは、appxmanifest.xmlの作成と開発証明書の設定を自動化します。winapp manifest update-assetsコマンドは正しいアスペクト比で画像アセットを生成し、winapp cert generateはテスト用の自己署名開発証明書を作成します。
  • MSIXパッケージング: winapp packコマンドは、パッケージ化と署名プロセスを処理し、ストアまたはサイドロード対応のMSIXパッケージを生成することで、アプリケーションのパッケージングを簡素化します。
  • Electronとの統合: npmパッケージとして利用可能なこのCLIには、winapp node add-electron-debug-identityが含まれており、ElectronプロセスにパッケージIDを注入することで、実験的なNodeJSプロジェクションを通じてシームレスなWindows AI API統合を可能にします。

入手方法と詳細

winapp CLIは、WinGet(winget install microsoft.winappcli)またはnpm(npm install --save-dev @microsoft/winappcli)を通じて入手できます。詳細なドキュメントとフレームワーク固有のガイドは、GitHubリポジトリで提供されています。


元記事: https://gbhackers.com/microsoft-open-sources-winapp/