В этой статье содержатся сведения, необходимые для начала создания приложений для Windows.
Windows предлагает широкий спектр языков, платформ и инструментов для создания приложений, включая WinUI, React Native для настольных компьютеров, WPF, C++, C#, .NET и различные кроссплатформенные платформы. Здесь мы предоставляем информацию, чтобы помочь вам решить, какой вариант лучше всего подходит для вас.
WinUI
Мы рекомендуем WinUI и пакет SDK для приложений Windows, чтобы создавать приложения, которые выглядят отлично и используют последние выпуски Windows. Если вы не знакомы с разработкой Windows или начинаете работу с новым приложением Для Windows, WinUI предоставляет ресурсы, необходимые для создания отличных приложений для Windows 11.
WinUI — это уровень пользовательского интерфейса на основе разметки XAML, содержащий современные элементы управления и стили для создания приложений Windows. Как собственный слой пользовательского интерфейса для пакета SDK для приложений Windows, он воплощает Fluent Design, предоставляя каждому приложению Windows полированную ощущение, что клиенты ожидают.
Пакет SDK для приложений Windows — это набор новых компонентов и средств разработчика, представляющих последнюю эволюцию платформы разработки приложений Для Windows. Пакет SDK для приложений Windows предоставляет единый набор API-интерфейсов и средств, которые можно использовать в классических приложениях в Windows 11 и нижней версии До Windows 10 версии 1809.
Хотя WinUI является собственным уровнем пользовательского интерфейса, вы можете использовать пакет SDK приложений Windows с приложениями WPF, WinForms или Win32. Если вы разработали приложения для Windows раньше, но хотите приступить к работе с пакетом SDK для приложений Windows в существующем приложении, ознакомьтесь с руководствами для конкретной платформы.
React Native для desktop
React Native — это платформа разработки, которая позволяет создавать кросс-платформенные приложения. React Native для desktop включает React Native для Windows и macOS, что обеспечивает поддержку React Native в пакете SDK для Windows. React Native для desktop позволяет использовать JavaScript для создания собственных приложений Windows для всех устройств, поддерживаемых Windows 10 и Windows 11. К ним относятся компьютеры, планшеты, 2-in-1s, Xbox, Смешанная реальность устройства и т. д.
При использовании React Native для Desktop вы пишете большую часть кода приложения в JavaScript или TypeScript, а платформа создает собственное приложение XAML UWP. Если приложению требуется вызывать API платформы, обычно это можно сделать с помощью одного из многих модулей сообщества или, если нужный модуль еще не существует, вы можете легко написать собственный.
Ниже приведены некоторые причины выбора React Native для Desktop:
Вам нужно обеспечить максимально возможное совместное использование кода на разных платформах или у вас есть веб-свойства, с которыми требуется совместно использовать код.
Высокая производительность разработки и оптимизированный внутренний цикл благодаря быстрому обновлению.
Основные характеристики приложения (производительность, доступность, интернационализация) находятся на уровне характеристик собственного приложения UWP.
У вас есть опыт работы с JavaScript или TypeScript, а также желание использовать эти языки.
Вы хотели бы использовать библиотеки JavaScript в npmjs.com, а также многие собственные библиотеки.
Приложение будет использовать характерные для платформы элементы управления, вид, анимацию и цвета, благодаря чему оно воспринимается естественно в Windows. Кроме того, приложения React Native для классических приложений не должны компрометировать набор API, которые они могут вызывать, так как платформа позволяет вызывать API платформы, а также создавать собственные диспетчеры представлений и собственные модули.
WPF — это хорошо установленная платформа для классических приложений Windows с доступом к .NET или платформа .NET Framework. Как и WinUI, он также использует разметку XAML для разделения пользовательского интерфейса от кода. WPF предоставляет полный набор функций разработки приложений, включающих элементы управления, привязку данных, макет, трехмерную графику, анимацию, стили, шаблоны, документы, мультимедиа, текст и типографию. WPF является частью .NET, поэтому вы можете создавать приложения, включающие другие элементы .NET API.
Кроме того, теперь можно интегрировать среду песочницы в упакованные приложения WPF, обеспечивая дополнительный уровень безопасности. Это улучшение не требует никаких изменений в коде благодаря новой функции безопасности изоляции приложений Win32.
Совет
Если вы уже инвестировали в WPF, вы можете продолжать использовать его и воспользоваться вариантами модернизации в .NET 9. Вы можете создавать приложения, зная, что Корпорация Майкрософт продолжает инвестировать в WPF. Дополнительные сведения см. в статье о платформе разработки клиентских приложений.
Многие приложения для Windows написаны с помощью Win32, Windows Forms или UWP. Каждая из этих платформ поддерживается и будет продолжать получать исправления ошибок, надежности и безопасности, но различные уровни инвестиций для новых функций и стилей. Дополнительные сведения об этих типах приложений см. на следующих вкладках.
Классические приложения Win32 (иногда называемые просто классическими приложениями) — это исходный тип собственных приложений Windows, которым требуется прямой доступ к Windows и оборудованию. Это делает Win32 типом приложения для приложений, которым требуется высокий уровень производительности и прямой доступ к системным оборудованию.
Использование API Win32 с C++ позволяет достичь наивысшего уровня производительности и эффективности, используя более контроль над целевой платформой с неуправляемыми кодом, чем это возможно в управляемой среде выполнения, такой как WinRT и .NET. Однако такой уровень контроля над исполнением приложения требует большей осмотрительности и внимания для правильного выполнения, и позволяет извлекать выгоду из производительности разработки для производительности среды.
Вот несколько основных особенностей интерфейса API Win32 и C++ предложений, позволяющих создавать высокопроизводительные приложения.
Оптимизация на уровне оборудования, включающая тщательный контроль за выделением ресурсов, время существования объектов, макет данных, выравнивание, байтовую упаковку и многое другое.
Доступ к наборам инструкций, ориентированных на производительность, например SSE и AVX, с помощью встроенных функций.
Эффективное и строго типизированное универсальное программирование с помощью шаблонов.
Эффективные и надежные контейнеры и алгоритмы.
DirectX, в частности Direct3D и DirectCompute.
Используйте C++/WinRT для создания современных классических приложений Win32 с эффективным доступом к интерфейсам API среды выполнения Windows (WinRT).
Кроме того, теперь вы можете интегрировать среду песочницы в приложения Win32, обеспечивая дополнительный уровень безопасности. Это улучшение не требует никаких изменений в коде благодаря новой функции безопасности изоляции приложений Win32.
Windows Forms — это исходная платформа для управляемых приложений Windows с упрощенной моделью пользовательского интерфейса и доступом к .NET или платформа .NET Framework. Это позволяет разработчикам быстро приступить к созданию приложений, даже новичкам на платформе. Это платформа быстрой разработки приложений на основе форм с большой встроенной коллекцией визуальных и невизуальных элементов управления, поддерживающих перетаскивание. Windows Forms не использует XAML, поэтому решение о перезаписи приложения в WinUI приводит к полному повторному написанию пользовательского интерфейса.
Кроме того, теперь можно интегрировать среду песочницы в упакованные приложения Windows Forms, обеспечивая дополнительный уровень безопасности. Это улучшение не требует никаких изменений в коде благодаря новой функции безопасности изоляции приложений Win32.
На универсальной платформе Windows (UWP) предоставляется система общих типов, интерфейсы API и модель приложений для всех устройств под управлением UWP. Вы можете не только использовать UWP для создания классических приложений для компьютеров под управлением Windows — UWP также является единственной платформой с поддержкой написания собственных универсальных приложений для выполнения на Xbox, HoloLens и в Surface Hub. Приложения UWP могут быть собственными или управляемыми.
Примечание
Существующее приложение UWP продолжит функционировать должным образом. Тем не менее, чтобы воспользоваться современными функциями в WinUI 3 и пакете SDK для приложений Windows, мы рекомендуем перенести приложение.
У вас нет доступа к API, предоставляемым пакетом SDK для приложений Windows или .NET 6 и более поздними версиями. Чтобы использовать пакет SDK для приложений Windows, необходимо перенести приложение UWP в WinUI и пакет SDK для приложений Windows. Дополнительные сведения см. в статье о переходе на SDK для приложений Windows.
Другие кроссплатформенные варианты
Если вам нужно, чтобы приложение было кроссплатформенным, в дополнение к React Native для Desktop, следует рассмотреть .NET MAUI или прогрессивное веб-приложение (PWA). Есть много других вариантов (вот список популярных вариантов), но это некоторые хорошие начальные точки.
.NET MAUI использует возможности WinUI в Windows, а также включает выполнение в других операционных системах. Еще один кроссплатформенный вариант, прогрессивный веб-приложения (PWAs), — это веб-сайты, которые работают так же, как установленные, собственные приложения в Windows и других поддерживаемых платформах, в то время как обычные веб-сайты в браузерах.
Дополнительные сведения см. на следующих вкладках.
Мультиплатформенный пользовательский интерфейс приложений .NET (MAUI) — это кросс-платформенная архитектура с открытым кодом для создания приложений Android, iOS, macOS и Windows, которые используют собственный пользовательский интерфейс и службы каждой платформы из единой базы кода .NET. Так как .NET MAUI предпочитает собственный интерфейс платформы, он использует WinUI и пакет SDK для приложений Windows, чтобы приложения получили последнюю версию пользовательского интерфейса в Windows. Это дает приложениям доступ ко всему, что вы получаете с помощью WinUI, а также возможность доступа к другим платформам.
.NET MAUI для Windows станет отличным выбором, если:
Вы хотите сохранить как можно больший объем кода .NET в мобильных и классических приложениях.
Вы хотите поставлять приложения на другие компьютерные и мобильные платформы, помимо Windows, с поддержкой собственных возможностей платформы.
Вы хотите использовать C# и (или) XAML для создания кросс-платформенных приложений.
Вы используете Blazor для веб-разработки и хотите включить все или одну часть этого решения в мобильное или классическое приложение.
Прогрессивные веб-приложения (PWAs) предоставляют доступ к открытым веб-технологиям для обеспечения кроссплатформенного взаимодействия. PwAs предоставляют пользователям возможность работы с приложением, настроенным для своих устройств. PWAs — это веб-сайты, которые постепенно расширены для работы как установленные, собственные приложения на вспомогательных платформах (включая Windows), в то время как обычные веб-сайты в других браузерах.
При установке в Windows ЦС так же, как и другие приложения. Например:
PWA можно добавить в меню .
PWA можно закрепить на панели задач.
ЦП может обрабатывать файлы.
ЦС могут выполняться при входе пользователя.
PVA можно отправить в Microsoft Store, где миллионы пользователей Windows могут обнаруживать и легко устанавливать их вместе с другими приложениями Windows.
Существует широкий спектр вариантов разработки приложений для Windows. Лучший вариант зависит от требований приложения, существующего кода и вашего опыта работы с технологией. В следующей таблице перечислены самые популярные платформы разработки приложений, доступные в Windows, и функции, поддерживаемые каждой платформой.
Windows не просто отлично подходит для разработки приложений, работающих в Windows, это также мощная среда для разработки приложений для любой платформы. Узнайте больше о средствах и вариантах, доступных для максимальной разработки.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о Windows developer
Windows developer — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Разработчики Windows имеют различные варианты создания приложений, работающих в Windows. В этом модуле представлены платформы пользовательского интерфейса Windows, доступные для разработки Windows. Он также содержит рекомендации по выбору оптимальной платформы для вашего приложения.
В этом разделе документации содержатся сведения об интерфейсах API и функциях, которые можно использовать при разработке классических приложений для Windows.
Приступая к работе с Пакетом SDK для приложений WinUI 3 или Windows, создав простое классическое приложение Windows, которое отображает "Hello world!".
Официальный документ с вопросами и ответами для разработчиков Windows. Получите ответы на распространенные вопросы о разработке приложений Windows и пакете SDK для приложений Windows (Windows App SDK).
Используйте эти репозитории Github, чтобы узнать о разработке Windows. Примеры приложений демонстрируют функции Windows, шаблоны использования API и комплексные сценарии.