Анонсовано WinApp: Новий CLI для розробки Windows-застосунків
Microsoft представила публічну попередню версію (public preview) Windows App Development CLI (winapp) — нового інструменту з відкритим вихідним кодом, покликаного уніфікувати та спростити життєвий цикл розробки програм для Windows.
Цей інструмент орієнтований на розробників, що працюють поза межами Visual Studio або MSBuild, та використовують кросплатформні фреймворки (Electron, C++, Rust, Dart, .NET). Головна мета winapp — усунути складність налаштування середовища, роботи з маніфестами, сертифікатами та пакуванням, надаючи єдиний інтерфейс командного рядка.

Ключові технічні можливості
1. Автоматизація налаштування середовища (init та restore)
Команда winapp init виконує повний бутстрапінг робочого простору (workspace). Вона автоматизує процеси, які раніше вимагали ручного втручання:
- Завантаження необхідних SDK.
- Генерація проєкцій (наприклад, C++/WinRT).
- Створення маніфестів та активів.
- Налаштування залежностей.
Для командної роботи або CI/CD середовищ передбачена команда winapp restore, яка відтворює точний стан середовища, визначений у конфігурації, забезпечуючи ідентичність налаштувань на різних машинах.
2. Package Identity для налагодження (Debug Identity)
Доступ до сучасних Windows API (Windows AI, сповіщення, функції безпеки) вимагає наявності Package Identity. Традиційно це змушувало розробників виконувати повне пакування програми навіть для тестування однієї функції, що значно сповільнювало «inner loop» розробки.
WinApp CLI вирішує цю проблему командою winapp create-debug-identity. Вона дозволяє додати ідентифікатор пакету безпосередньо до виконуваного файлу (.exe). Це дає змогу тестувати API, що вимагають ідентифікації, у звичному режимі налагодження без необхідності повної інсталяції пакету.
Приклад використання:
Bash
winapp create-debug-identity my-app.exe
3. Робота з маніфестами та сертифікатами
Інструмент надає команди для гранулярного керування appxmanifest.xml та сертифікатами розробки, усуваючи необхідність ручного редагування XML:
- Оновлення активів: Команда
winapp manifest update-assetsавтоматично оновлює всі посилання на зображення в маніфесті, генеруючи необхідні розміри з вихідного логотипу. - Генерація сертифікатів: Команда
winapp cert generateстворює та (опціонально) встановлює самопідписаний сертифікат для локального тестування (sideloading).
4. Спрощене пакування MSIX
CLI абстрагує процес створення та підпису MSIX пакетів. Замість складних пайплайнів, створення готового до публікації (store-ready) або sideload-пакету виконується однією командою:
Bash
winapp pack ./my-app-files --cert ./devcert.pfx
5. Інтеграція з Electron та Node.js
Для екосистеми JavaScript/TypeScript випущено npm-пакет @microsoft/winappcli. Він пропонує:
- Скафолдінг нативних аддонів: Швидке створення C++ або C# аддонів, попередньо налаштованих для доступу до Windows App SDK.
- Debug Identity для Electron: Команда
winapp node add-electron-debug-identityін’єктує ідентифікатор пакету прямо у запущений процес Electron. Це дозволяє використовуватиnpm startі при цьому мати доступ до API, що вимагають Package Identity (наприклад, Phi Silica AI). - Експериментальні проєкції: Microsoft почала впроваджувати проєкції API безпосередньо для Node.js (наприклад, пакет
@microsoft/winapp-windows-aiдля роботи з локальними мовними моделями).
Встановлення
Інструмент доступний для встановлення через WinGet або npm:
Для загального використання:
PowerShell
winget install microsoft.winappcli
Для Electron-проєктів:
Bash
npm install --save-dev @microsoft/winappcli
Проєкт є open-source, і Microsoft закликає спільноту долучатися до тестування та обговорення на GitHub для подальшого розвитку інструментарію.
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів