このガイドでは、Windows アプリ開発 CLI を使用して、electron アプリケーションにWindowsネイティブ機能を追加する手順について説明します。 Electron アプリから最新のWindows API を呼び出し、アプリ ID でテストし、パッケージを配布する方法について説明します。
あなたが構築するもの
このガイドを最後まで進めると、Electron アプリを完成させることができます。
- ✅ 最新のWindows API を呼び出します (Windows SDK とWindows アプリ SDK)
- ✅JavaScript (Phi Silica または WinML) のWindows AI 機能を使用します
- ✅ API にネイティブ コードが必要な場合は、必要に応じてネイティブ アドオンを使用します
- ✅ 保護された API をテストするためのアプリ ID を使用して実行する
- ✅ 配布用の署名付き MSIX としてのパッケージ
前提条件
開始する前に、次のことを確認してください。
- Windows 11 (Phi Silica を使用している場合は Copilot+ PC)
-
Node.js -
winget install OpenJS.NodeJS --source winget -
.NET SDK v10 -
winget install Microsoft.DotNet.SDK.10 --source winget -
Visual Studio のネイティブ デスクトップ ワークロード -
winget install --id Microsoft.VisualStudio.Community --source winget --override "--add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --passive --wait"
プロセス
次のガイドに従って Electron アプリを設定し、最新のWindows API を呼び出して、配布用にパッケージ化します。
1. 開発環境の設定
まず、必要なツールと SDK を使用して開発環境を設定します。 これには次のものが含まれます。
- Electron アプリの作成または構成
- winapp CLI のインストール
- Windows SDK と必要な資産の初期化
- ビルド パイプラインの設定
2. JavaScript から Windows API を呼び出す
セットアップ中に JS バインディングを有効にした場合、.winapp/bindings/には、生成された.jsラッパー クラスと、Windows アプリ SDK API の一致する.d.ts宣言が含まれます。
#winapp/bindingsをインポートして、エクスポートされたすべてのクラスにアクセスします。
#winapp/bindings パッケージのインポートには@microsoft/dynwinrt-codegen ≥ 0.1.0-preview.8が必要です。古いプロジェクトでは、インポート ファイルに対する相対パス (たとえば、require('../.winapp/bindings/index.js')からのsrc/index.js) を保持したり、npm i -D @microsoft/dynwinrt-codegen@latest && npx winapp init --add-js-bindingsを使用してアップグレードしたりできます。
- JavaScript →からの通知を表示する - ネイティブ アドオンなしで同じWindows アプリ SDK通知サーフェイスを呼び出します。
- JavaScript → から Windows API を呼び出します。Windows アプリ SDKを含むファイルを選択し、Windows SDK イメージング API を使用して検査します。
- JavaScript → から Phi Silica を呼び出します。Copilot+ PCsのローカル言語モデルでテキストを要約します。
-
JavaScript から WinML を実行 → —
onnxruntime-nodeを使用して、Windows アプリ SDK の ML プロバイダー検出を利用します。
3. 省略可能: ネイティブ アドオンを作成する
生成された JS バインドが必要なWindows アプリ SDK API に対応している場合は、この手順をスキップします。 ネイティブ アドオンは、Win32、純粋な COM、ネイティブ C/C++ ライブラリ、マネージド .NET アセンブリなどのネイティブ境界が必要な場合にのみ作成します。
オプション A: C++ 通知アドオンの作成
Windows アプリ SDK通知 API を呼び出す C++ アドオンを作成する方法について説明します。 これは、より複雑なシナリオに進む前にネイティブ アドオンを理解するための優れた出発点です。
オプション B: Phi シリカ アドオンの作成
Phi Silica AI モデルを使用してデバイス上のテキストを要約する C# アドオンを作成する方法について説明します。 Phi Silica は、NPU を使用する Windows 11 デバイスでローカルに実行される小さな言語モデルです。
オプション C: WinML アドオンの作成
Windows Machine Learning (WinML) を使用して画像分類、物体検出などのカスタム ONNX モデルを実行する C# アドオンを作成する方法について説明します。
4. 流通用包装
最後に、配布用の MSIX としてアプリをパッケージ化します。 これには次のものが含まれます。
- 運用環境用にアプリをビルドする
- MSIX パッケージの作成と署名
- インストールされているパッケージのテスト
- 配布オプションについて
クイック ナビゲーション
| Phase | ガイド | ここでは、次の内容について学習します |
|---|---|---|
| 1️⃣ | セットアップ | ツールのインストール、SDK の初期化、ビルド パイプラインの構成 |
| 2️⃣ | Notification JS バインディング | JavaScript から直接Windows アプリ SDK通知を表示する |
| 2️⃣ | WINDOWS API の JS バインド | Windows アプリ SDK API を呼び出し、WINDOWS SDK API にバインドを拡張する |
| 2️⃣ | Phi シリカ JS 結合 | JavaScript からローカル言語モデルを直接呼び出す |
| 2️⃣ | WinML JS バインド | WinML 実行プロバイダーを登録し、JavaScript から ONNX ランタイムを実行する |
| 3️⃣ | C++ 通知アドオン | C++ アドオンの作成、通知 API の呼び出し、デバッグ ID を使用したテスト |
| 3️⃣ | Phi シリカ アドオン | AI API に代わる C# アドオンを作成する |
| 3️⃣ | WinML アドオン | WinML の C# アドオンの代替を作成する |
| 4️⃣ | パッケージ化 | 運用アプリの構築、MSIX の作成、配布 |
その他のリソース
- winapp CLI のドキュメント - 完全な CLI リファレンス
- サンプル Electron アプリ - 完全な作業例
- AI 開発ギャラリー - すべての AI API のサンプル ギャラリー
- Windows アプリ SDK Samples - Windows アプリ SDK サンプルのコレクション
- node-api-dotnet - C# ↔ JavaScript 相互運用ライブラリ
ヘルプを取得する
- バグが見つかりましたか?問題を提出する
Windows developer