Общие сведения о разработке для Android в Windows

Руководство по настройке среды разработки на компьютере с Windows 10 или Windows 11 для разработки приложений Android. Android является товарным знаком Google LLC. Если вы являетесь разработчиком, заинтересованным в использовании операционной системы Windows для создания приложений, работающих на устройствах Android и на других платформах устройств, это руководство предназначено для вас.

Вы также можете узнать об использовании подсистема Windows для Android ™️ для обновления и тестирования приложения Android, чтобы оно выполнялось на устройстве с Windows 11 с помощью Amazon Appstore. Подробнее.

Windows в качестве среды разработки

Существует несколько путей для разработки приложения устройства Android с помощью операционной системы Windows. Эти пути входят в три основных типа: разработка собственных android, кроссплатформенная разработка и разработка игр Android. В этом обзоре вы узнаете, какой путь разработки следует выполнить для разработки приложения Android, а затем предоставьте следующие действия , которые помогут вам приступить к разработке Windows с помощью:

*Если вы использовали Xamarin для кроссплатформенных приложений, см. статью "Миграция с Xamarin на .NET MAUI".

Кроме того, в этом руководстве приводятся советы по использованию Windows для:

Android (собственная)

Разработка в собственном коде Android в Windows означает, что ваше приложение предназначено только для Android (не для устройств iOS или Windows). Вы можете использовать Android Studio или Visual Studio для разработки в экосистеме, разработанной специально для операционной системы Android. Производительность будет оптимизирована для устройств Android, пользовательский интерфейс будет соответствовать другим собственным приложениям на устройстве, и любые функции или возможности устройства пользователя будут прямо вперед для доступа к и использованию. Разработка приложения в собственном формате поможет просто "чувствовать себя правильно", так как он следует всем шаблонам взаимодействия и стандартам пользовательского интерфейса, установленным специально для устройств Android.

Кросс-платформенность

Кроссплатформенные платформы предоставляют единую базу кода, которую можно (в основном) совместно использовать между устройствами Android, iOS и Windows. Использование кроссплатформенной платформы может помочь вашему приложению поддерживать тот же внешний вид, интерфейс и взаимодействие с устройствами, а также воспользоваться автоматическим развертыванием обновлений и исправлений. Вместо того чтобы понять различные языки кода для конкретного устройства, приложение разрабатывается в общей базе кода, как правило, на одном языке.

Хотя кроссплатформенные платформы стремятся выглядеть и чувствовать себя как можно ближе к собственным приложениям, они никогда не будут столь же легко интегрированы, как изначально разработанное приложение и могут страдать от снижения скорости и снижения производительности. Кроме того, средства, используемые для создания кроссплатформенных приложений, могут не иметь всех функций, предлагаемых каждой разной платформой устройств, потенциально требуя обходных решений.

Как правило, база кода состоит из кода пользовательского интерфейса для создания пользовательского интерфейса, таких как страницы, кнопки, элементы управления, метки, списки и т. д., а также код логики для вызова веб-служб, доступа к базе данных, вызова аппаратных возможностей и управления состоянием. В среднем, 90% этого можно повторно использовать, хотя для каждой платформы устройств обычно требуется настроить код. Эта обобщение в значительной степени зависит от типа создаваемого приложения, но предоставляет немного контекста, который, надеюсь, поможет вашему принятию решений.

Выбор кроссплатформенной платформы

.NET MAUI

  • Кросс-платформенная платформа для создания собственных мобильных и классических приложений с помощью C# и XAML.
  • Разработка приложений, которые могут выполняться в Android, iOS, macOS и Windows из одной общей базы кода, с глубоким доступом к каждому аспекту каждой собственной платформы из единого единого API, который обеспечивает единый запуск и запуск в любом месте разработки.
  • Совместное использование макета пользовательского интерфейса и разработка на различных платформах.
  • Эволюция Xamarin.Forms с открытым исходным кодом, расширенная от мобильных до классических сценариев, при этом элементы управления пользовательского интерфейса перестроены для повышения производительности и расширяемости.
  • Перенос проектов Xamarin.Android в .NET MAUI

React Native

  • Код пользовательского интерфейса: JavaScript
  • Код логики: JavaScript
  • Цель React Native заключается в том, чтобы не писать код один раз и запускать его на любой платформе, вместо того чтобы узнать один раз (Способ React) и записать в любом месте.
  • Сообщество добавило такие инструменты, как Expo и Create React Native App, чтобы помочь тем, кто хочет создавать приложения без использования Xcode или Android Studio.
  • Аналогично .NET MAUI (C#), React Native (JavaScript) вызывает собственные элементы пользовательского интерфейса (без необходимости написания Java/Kotlin или Swift).

Прогрессивные веб-приложения (PWA)

  • Код пользовательского интерфейса: HTML, CSS, JavaScript
  • Код логики: JavaScript
  • PWA — это веб-приложения, созданные с помощью стандартных шаблонов, которые позволяют им воспользоваться преимуществами функций веб-приложений и собственных приложений. Их можно создать без платформы, но несколько популярных платформ, которые следует рассмотреть, являются Ionic и Apache Cordova.
  • PVA можно установить на устройстве (Android, iOS или Windows) и работать в автономном режиме благодаря включению работника службы.
  • ЦС могут быть распределены и установлены без магазина приложений с помощью только веб-URL-адреса. Microsoft Store и Google Play Store позволяют отображать PWA, Apple Store в настоящее время не поддерживает, хотя они по-прежнему могут быть установлены на любом устройстве iOS под управлением 12.2 или более поздней версии.
  • Чтобы узнать больше, проверка это введение в PWA в MDN.

Разработка игр

Разработка игр для Android часто уникальна от разработки стандартного приложения Android, так как игры обычно используют пользовательскую логику отрисовки, часто написанную в OpenGL или Vulkan. По этой причине и из-за многих библиотек C, доступных для разработки игр, разработчики часто используют C/C++ с Visual Studio вместе с Пакетом средств разработки Android Native Development Kit (NDK) для создания игр для Android. Начало работы с C/C++ для разработки игр.

Дополнительные рекомендации по разработке игр Android см. на сайте разработчика Android: основы разработки игр. Вы найдете рекомендации по использованию игрового механизма (например, Unity, Unreal, Defold, Godot), а также использования УДостоверения (например, Android Studio или Visual Studio).

Следующие шаги