О разделе
Зачем этот раздел
Десктоп — программы, которые работают на компьютере пользователя — окна, меню, доступ к файлам и устройствам без браузера. Здесь собраны архитектура GUI, выбор стека (нативный, Electron, WebView, Qt, Tkinter) и практики — потоки, память, установщики. Хороший массовый пример десктоп-клиента с экосистемой магазина и сообщества — Steam.
Если вы уже пишете веб на React (галерея компонентов) или бэкенд на Node, десктоп — логичный следующий шаг для утилит и внутренних инструментов. Тот же UI на телефоне из одной кодовой базы — Flutter и галерея виджетов (Lab).
С чего начать
| Шаг | Материал |
|---|---|
| 0 | Запуск и перезапуск приложений — Run в IDE, .exe, отладка |
| 1 | Архитектура десктопных приложений — GUI, WIMP, окно, UI-поток, события |
| 2 | Особенности разработки — многопоточность, ресурсы |
| 3 | Стек по языку |
| 4 | C# клиент-сервер |
| 5 | Установщик для Windows |
Частые ошибки при старте
| Ошибка | Что делать |
|---|---|
| Electron "на всякий случай" | Для утилиты хватит Tkinter или примеры в Lab, WinForms/WPF в Lab, Swing в Lab, либо нативного UI |
| Блокировка UI-потока | Сначала Особенности разработки десктопных приложений |
| Сразу Store без MSIX | Сначала локальная сборка, потом Microsoft Store и публикация Windows-приложений |
Что попробовать после intro
- Откройте архитектуру и пройдите симулятор окна.
- Выберите один стек: WPF с нуля (примеры) или WinForms (примеры) или Electron или Python Tkinter (примеры) или Java Swing (примеры) или Qt.
- Прочитайте Особенности разработки десктопных приложений про UI-поток — применимо ко всем стекам.
Все статьи раздела
Практикум WPF и клиент-сервер
7 элементов
Архитектура десктопных приложений
Настоятельно рекомендую ознакомиться со главой, посвящённой созданию десктопных приложений на Python - 5.02. Графика и игры.
Разработка приложений для настольных операционных систем
Десктопное приложение — это композитная сущность, объединяющая код, ресурсы, метаданные, конфигурации и, зачастую, механизмы обновления, диагностики и интеграции с другими компонентами системы.
Особенности разработки десктопных приложений
Многопоточность, реактивность, ресурсы, отладка и прочее.
WebView
WebView - встроенный браузер в приложениях.
Electron
Electron — десктопные приложения на HTML, CSS и JavaScript с процессами main, preload и renderer.
Windows Forms (WinForms)
Windows Forms — платформа GUI для классических настольных приложений Windows на .NET; формы, контролы, события, привязка данных и визуальный конструктор Visual Studio.
Справочник по WinForms — элементы UI
Рецепты Windows Forms — Form, Label, Button, TextBox, списки, меню и диалоги на C#.
Разработка приложений для Windows (Microsoft Learn)
Платформа разработчика Windows — Windows SDK, Windows App SDK, WinUI 3, WPF, среда разработки, поддержка и обзор драйверов по документации Microsoft.
Microsoft Store и публикация Windows-приложений
Учётная запись разработчика, MSIX, Partner Center, сертификация и распространение приложений для Windows через Microsoft Store.
Первая программа Electron с React
Десктопное окно — Electron, Vite, React и безопасный IPC через preload; пошаговый разбор для новичков.
Первая форма WPF — XAML, стили и шаблоны
Пошаговая сборка WPF-приложения с нуля — разметка XAML, привязка данных, Style, DataTemplate и ControlTemplate на примере списка заметок.
Справочник по WPF — элементы UI
Рецепты WPF — Window, Label, Button, TextBox, привязки, списки, меню в XAML и C#.
Как сделать установщик
Установочный файл и пакет: зачем нужны, архитектура инсталлятора, Inno Setup, скрипт на PowerShell и Python, сборка через PyInstaller, мастер на C# (WinForms/WPF).
Работа с графовыми структурами в коде
Работа с графовыми структурами в коде - визуализация состояний узлов и отладка обходов графа на практике.
Десктопные приложения — итоги
Итоги раздела «Десктопные приложения» — FAQ и краткие ответы по теме.
Десктопные приложения — чек-лист
Чек-лист раздела «Десктопные приложения» — вопросы для самопроверки.
Десктопные приложения — о разделе
Подборка материалов раздела Десктопные приложения в энциклопедии Вселенная IT.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
База программиста — ORM и работа с данными — о разделе, Основы работы с Git — о разделе, Зависимости — о разделе, Разработка и отладка — о разделе, Объектно-ориентированное программирование — о разделе, Автоматическое управление памятью.