Разработка приложений для Windows (Microsoft Learn)
Windows - отдельный стек десктоп-разработки
Раздел Десктопные приложения описывает общую архитектуру окон, событий и стеков (Qt, Electron, Java и др.). Для Windows Microsoft выделяет отдельную платформу разработчика: два уровня SDK, рекомендуемый UI (WinUI 3), классические .NET-стеки и путь от настройки машины до публикации в Microsoft Store.
Официальный вход: Обзор платформы разработчиков Windows. Практический старт проекта: Начните здесь.
См. также: Архитектура десктопных приложений (в том числе что такое драйвер), Особенности разработки десктопных приложений, Платформа .NET — UI.
Два SDK — Windows SDK и Windows App SDK
| Windows SDK | Windows App SDK | |
|---|---|---|
| Назначение | Заголовки, библиотеки и инструменты для прямого доступа к API ОС | Современный слой поверх Windows SDK: WinUI, жизненный цикл, окна, уведомления |
| Привязка к ОС | Привязан к версиям Windows | Поставляется через NuGet, обновляется чаще релизов ОС |
| Когда нужен | Низкоуровневые API, DirectX, последние функции ОС, Win32/C++ | Новые приложения с Fluent UI, интеграция в WPF/WinForms |
Документация: Windows SDK, Windows App SDK.
Любое Windows-приложение в итоге опирается на Windows SDK; Windows App SDK — рекомендуемый путь для современного UI и системных возможностей без ожидания обновления всей ОС. Поддерживается Windows 10 (1809) и новее.
Выбор платформы приложения
Microsoft предлагает несколько «дорожек»; выбор зависит от того, новый ли проект, есть ли legacy и нужна ли кроссплатформенность.
WinUI 3 — рекомендуемый UI для новых Windows-приложений
WinUI 3 — нативный UI на базе Windows App SDK и XAML (C# или C++), с оформлением Fluent Design. Если вы впервые пишете под Windows или начинаете проект с нуля — документация WinUI и старт WinUI — основная точка входа.
Особенности по сравнению с другими стеками (сводка Microsoft):
- современный интерфейс и песочница AppContainer (в отличие от классических Win32/WPF/WinForms без контейнера);
- нет визуального drag-and-drop дизайнера как у WinForms/WPF — UI чаще в XAML и коде;
- только Windows (не кроссплатформа; для macOS/Linux смотрите .NET MAUI).
WPF
WPF — зрелая XAML-платформа для классических .NET-приложений: привязка данных, стили, векторная графика, MVVM. Подходит для существующих проектов и сложного desktop UI на Windows. Существующие WPF-приложения можно модернизировать возможностями Windows App SDK (WPF + Windows App SDK).
Windows Forms
Windows Forms — быстрые формы с визуальным конструктором; см. обзор WinForms. Модернизация через WinForms + Windows App SDK.
Win32 (C++)
Прямой доступ к Windows и оборудованию; максимальная производительность, DirectX, низкоуровневые сценарии. Старт: Win32 desktop programming, современные обёртки — C++/WinRT.
UWP (наследие)
Universal Windows Platform — общие API для семейства устройств Windows. Существующие UWP продолжают работать; для WinUI 3 и Windows App SDK Microsoft рекомендует стратегию миграции.
Кроссплатформа
.NET MAUI и React Native перечислены в сравнении платформ как кроссплатформенные варианты с поддержкой Windows среди других ОС.
Сравнение стеков (кратко)
Полная таблица — на странице обзора. Упрощённо для выбора:
| Задача | Куда смотреть |
|---|---|
| Новое приложение только для Windows 10/11 | WinUI 3 |
| Большой legacy на .NET, XAML уже есть | WPF + при необходимости Windows App SDK |
| Быстрый внутренний CRUD, конструктор форм | WinForms → 115 |
| Игра, драйвер, максимум производительности C++ | Win32 + Windows SDK |
| Один код Windows + macOS + mobile | .NET MAUI |
| Веб-команда, HTML UI | Electron → 114 |
Среда разработки
Перед первым проектом имеет смысл настроить рабочую станцию по руководству Set up your development environment:
- Visual Studio 2022 с workload «Разработка классических приложений .NET» и/или «Разработка приложений для Windows» (WinUI, C++);
- Windows SDK и при необходимости Windows App SDK (часто подтягиваются с проектом);
- .NET SDK для WinForms, WPF, MAUI;
- опционально WinGet и конфигурация окружения — см. вкладку winget в Start here.
Подробнее про IDE: Visual Studio — установка и workloads.
Поддержка и жизненный цикл
Версии Windows, SDK и фреймворков имеют политику поддержки. Актуальные сроки и рекомендации — в разделе Support for app development: какие версии Windows целевые, когда прекращается поддержка конкретных пакетов, как планировать обновления приложения.
Драйверы (обзор для прикладного разработчика)
Десктоп-приложение обращается к принтеру, камере, диску через API ОС, а не напрямую к регистрам устройства. Между приложением и железом работают драйверы — см. Что такое драйвер? и вводную в Архитектуре десктопных приложений.
Если вы не пишете драйвер, достаточно знать:
- запросы идут через стек драйверов (фильтры, function driver, bus driver);
- сбой драйвера может вызвать нестабильность системы (в отличие от падения одного user-mode процесса);
- разработка драйверов — отдельная дисциплина: Windows drivers, Getting started with drivers.
Прикладной код (WinUI, WPF, WinForms) остаётся в пользовательском режиме; к драйверам обычно не обращаются, кроме специализированных утилит и SDK производителя оборудования.
Публикация и Microsoft Store
Упаковка MSIX, учётная запись в Partner Center, сертификация и листинг — в отдельной статье Microsoft Store и публикация Windows-приложений. Старт в документации: Начало работы с Microsoft Store.
Карта документации Microsoft Learn
| Тема | Ссылка |
|---|---|
| Обзор платформы | get-started |
| Первый проект | start-here |
| Windows SDK | windows-sdk |
| WinUI 3 | winui3 |
| WPF | wpf/overview |
| Среда разработки | dev-environment |
| Поддержка | develop/support |
| Драйверы — что это | what-is-a-driver |
| Драйверы — раздел | windows-hardware/drivers |
| Публикация в Store | publish/get-started |
Частые ошибки
| Симптом | Причина |
|---|---|
| WinUI не собирается | Нет Windows App SDK workload в VS |
| Путаница SDK | Windows SDK ≠ Windows App SDK — см. таблицу выше |
| WPF на ARM | Проверьте supported runtime в документации |
| Store отклонил пакет | Не MSIX или неверная подпись — 117 |
Что попробовать
- Шаблон «WinUI 3 Blank App» в Visual Studio — один экран.
- Сравните с WinForms на той же машине.
- MAUI — если нужен и Android.
Частые ошибки
| Симптом | Причина |
|---|---|
| WinUI не собирается | Нет Windows App SDK workload в VS |
| Путаница SDK | Windows SDK ≠ Windows App SDK — см. таблицу выше |
| WPF на ARM | Проверьте supported runtime в документации |
| Store отклонил пакет | Не MSIX или неверная подпись — 117 |
Что попробовать
- Шаблон «WinUI 3 Blank App» в Visual Studio — один экран.
- Сравните с WinForms на той же машине.
- MAUI — если нужен и Android.
Что читать дальше в энциклопедии
- Windows Forms (WinForms) — если выбран быстрый .NET UI с конструктором.
- Microsoft Store и публикация — когда приложение готово к распространению.
- Особенности разработки десктопных приложений — многопоточность UI, DevOps, тестирование.
- Платформа .NET — язык и runtime под WPF/WinForms/MAUI.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Настоятельно рекомендую ознакомиться со главой, посвящённой созданию десктопных приложений на Python - 5.02. Графика и игры. Десктопное приложение — это композитная сущность, объединяющая код, ресурсы, метаданные, конфигурации и, зачастую, механизмы обновления, диагностики и интеграции с другими компонентами системы. Многопоточность, реактивность, ресурсы, отладка и прочее. WebView - встроенный браузер в приложениях. Electron — десктопные приложения на HTML, CSS и JavaScript с процессами main, preload и renderer. Windows Forms — платформа GUI для классических настольных приложений Windows на .NET; формы, контролы, события, привязка данных и визуальный конструктор Visual Studio. Учётная запись разработчика, MSIX, Partner Center, сертификация и распространение приложений для Windows через Microsoft Store. Десктопное окно — Electron, Vite, React и безопасный IPC через preload; пошаговый разбор для новичков. Работа с графовыми структурами в коде - визуализация состояний узлов и отладка обходов графа на практике. Краткие итоги раздела «Десктопные приложения». Итоги раздела Десктопные приложения — вопросы для самопроверки в энциклопедии Вселенная IT.Архитектура десктопных приложений
Разработка приложений для настольных операционных систем
Особенности разработки десктопных приложений
WebView
Electron
Windows Forms (WinForms)
Microsoft Store и публикация Windows-приложений
Первая программа Electron с React
Работа с графовыми структурами в коде
Итоги
Чек-лист самопроверки