Начало работы. Добавление API Windows в ваше приложение Electron

В этом руководстве описано, как добавить собственные возможности Windows в приложение Electron с помощью интерфейса командной строки разработки приложение для Windows. Вы узнаете, как вызывать современные API Windows из вашего приложения Electron, тестировать приложения с учетом их идентичности и упаковывать их для распространения.

Что вы будете создавать

В конце этого руководства у вас будет приложение Electron, которое:

  • ✅ вызывает современные API Windows (Windows SDK и Windows App SDK)
  • ✅Использует возможности Windows ИИ из JavaScript (Phi Silica или WinML)
  • ✅ При необходимости использует нативное дополнение, когда API требует нативного кода
  • ✅ Выполняется с идентификатором приложения для тестирования защищенных API
  • ✅ Пакеты в виде подписанного MSIX для распространения

Необходимые условия

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Windows 11 (Copilot+ PC при использовании Phi Silica)
  • Node.js - winget install OpenJS.NodeJS --source winget
  • .NET SDK версии 10 - 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, вызвать современные API-интерфейсы Windows и упаковать его для распространения:

1. Настройка среды разработки

Во-первых, вы настроите среду разработки с помощью необходимых средств и пакетов SDK. Сюда входит следующее:

  • Создание или настройка приложения Electron
  • Установка интерфейса командной строки winapp
  • Инициализация пакетов SDK Windows и необходимых ресурсов
  • Настройка конвейера сборки

Начните настройку →

2. Вызов API Windows из JavaScript

Если во время установки вы включили привязки JavaScript, .winapp/bindings/ содержит сгенерированные классы-обёртки .js и соответствующие объявления .d.ts для API Windows App SDK. Импортируйте #winapp/bindings для доступа ко всем экспортируемым классам. Для импорта пакета #winapp/bindings требуется @microsoft/dynwinrt-codegen0.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.

3. Необязательно: Создание нативного дополнения

Пропустите этот шаг, если созданные привязки JS охватывают необходимый API Windows App SDK. Создавайте нативное расширение только тогда, когда вам нужна граница с нативным кодом, например для Win32, чистого COM, нативных библиотек C/C++ или управляемых сборок .NET.

Вариант A. Создание надстройки уведомления C++

Узнайте, как создать надстройку C++, которая вызывает API уведомлений Windows App SDK. Это отличная отправная точка для понимания собственных аддонов перед тем как погрузиться в более сложные сценарии.

Создание надстройки уведомления C++ →

Вариант B: Создание надстройки Phi Silica

Узнайте, как создать надстройку C#, которая использует модель ИИ Phi Silica для сводки текста на устройстве. Phi Silica — это небольшая языковая модель, которая выполняется локально на Windows 11 устройствах с NPU.

Создать дополнение Phi Silica →

Вариант C. Создание надстройки WinML

Узнайте, как создать надстройку C#, которая использует Windows Машинное обучение (WinML) для запуска пользовательских моделей ONNX для классификации изображений, обнаружения объектов и т. д.

Создать надстройку WinML →

4. Упаковка для распространения

Наконец, вы упаковите приложение в виде MSIX для распространения. Сюда входит следующее:

  • Создание приложения для рабочей среды
  • Создание и подписание пакета MSIX
  • Тестирование установленного пакета
  • Общие сведения о вариантах распространения

Упаковка приложения →

Быстрая навигация

Этап Guide Цели обучения
1️⃣ Setup Установка средств, инициализация пакетов SDK, настройка конвейера сборки
2️⃣ JS-привязки для уведомлений Отображение уведомления Windows App SDK непосредственно из JavaScript
2️⃣ Привязки JavaScript для API Windows Вызовите API Windows App SDK, затем расширьте привязки к API Windows SDK
2️⃣ Привязки Phi Silica JS Вызов локальной языковой модели непосредственно из JavaScript
2️⃣ Привязки WinML для JS Регистрация поставщиков выполнения WinML и запуск среды выполнения ONNX из JavaScript
3️⃣ Плагин уведомлений C++ Создайте надстройку C++, вызовите API уведомлений, протестируйте с идентификацией отладки
3️⃣ Фи Силика Addon Создание альтернативы надстройки C# для API-интерфейсов ИИ
3️⃣ Надстройка WinML Создайте альтернативную надстройку C# для WinML
4️⃣ Упаковка Создание рабочего приложения, создание MSIX, распространение

Дополнительные ресурсы

Получение справки