目次
読了時間: 約3分
Microsoftが「Windows App Development CLI(winapp)」のv0.2を公開した。Visual StudioやMSBuildに依存せずにWindowsストア提出向けアプリ開発を支援するCLIツールで、今回の更新で. NETプロジェクトのネイティブ対応などが追加された。
v0.2の主な更新点
1. .NETプロジェクトのネイティブ対応
*.csprojファイルを自動検出して初期化できるようになった。既存の.NETプロジェクトにwinappを導入する際の手間が大幅に減少している。
2. マニフェストプレースホルダー導入
アプリマニフェスト(Package.appxmanifest)の生成時に、プレースホルダー機能が追加された。複数のビルド構成(Debug/Release)や環境(Dev/Staging/Prod)に応じたマニフェストの切り替えが容易になった。
3. Microsoft Store Developer CLIの統合
Microsoft Storeへの提出に必要な操作が、同じCLIから行えるようになった。パッケージのアップロード、提出状況の確認などがコマンドラインで完結する。
winappとは
winappは、Windowsストア提出向けアプリ開発を支援する公式CLIツール。以下の開発シナリオを想定している:
- Rust——Tauri、Icedなどのフレームワーク
- Dart/Flutter——クロスプラットフォーム開発
- Electron——Web技術ベースのデスクトップアプリ
- .NET MAUI / WPF / WinUI——ネイティブWindowsアプリ
主な機能
| 機能 | 説明 |
|---|---|
| マニフェスト初期化 | Package.appxmanifestの自動生成 |
| アセット生成 | アイコン、スプラッシュスクリーンの自動リサイズ |
| Package Identity生成 | アプリIDの自動発行 |
| 自己署名証明書 | テスト用証明書の生成 |
| MSIXパッケージ化 | ストア提出用パッケージの作成 |
活用シナリオ
Electronアプリのストア公開
Electron製アプリをMicrosoft Storeで公開する際、証明書の準備やマニフェスト作成が面倒だった。winappを使うと、これらをCLIで自動化できる。
# プロジェクトの初期化
winapp init --name "MyApp" --publisher "CN=MyName"
# MSIXパッケージの作成
winapp package --input ./dist --output ./packages
# Storeへの提出(Developer CLI連携)
winapp publish --package ./packages/MyApp.msix
CI/CDパイプラインへの統合
GitHub ActionsやAzure DevOpsにwinappを組み込み、ビルドからストア提出までを自動化できる。マニフェストプレースホルダーを使えば、環境変数に応じた動的なマニフェスト生成も可能だ。
展望:Windowsアプリエコシステムの民主化
Microsoft Storeでのデスクトップアプリ配布は、長らく「.NET開発者以外には敷居が高い」印象があった。winappの登場により、ElectronやFlutter、Rust製アプリの開発者でも、コマンドラインだけでストア提出まで完結できるようになった。
これはWindowsアプリエコシステムの民主化につながる重要な一歩だ。特に、個人開発者や小規模チームにとって、Store配布のメリット(自動アップデート、検索性、信頼性の担保)が手軽に享受できるようになる。
参考リンク
- Windows App Development CLI(Microsoft Learn)——公式ドキュメント
- Microsoft Store Developer CLI——Store提出ドキュメント
- MSIX Documentation——MSIXパッケージング公式ドキュメント
免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。