Vue d’ensemble du développement Android sur Windows

Guide pour vous aider à configurer votre environnement de développement sur une machine Windows 10 ou Windows 11 pour le développement d’applications Android. Android est une marque de Google LLC. Si vous êtes un développeur intéressé par l’utilisation du système d’exploitation Windows pour créer des applications qui fonctionnent sur des appareils Android et sur d’autres plateformes d’appareils, ce guide est pour vous.

Vous pouvez également découvrir comment utiliser Sous-système Windows pour Android™️ pour mettre à jour et tester votre application Android afin qu’elle s’exécute sur un appareil Windows 11 à l’aide d’Amazon Appstore. Plus d’informations

Windows en tant qu’environnement de développement

Il existe plusieurs chemins pour développer une application d’appareil Android à l’aide du système d’exploitation Windows. Ces chemins se répartissent en trois types principaux : Développement Android natif, Développement multiplateforme et Développement de jeux Android. Cette vue d’ensemble vous aidera à déterminer le chemin de développement à suivre afin de développer une application Android, puis vous fournira les prochaines étapes pour vous aider à commencer à utiliser Windows pour développer avec :

*Si vous utilisez Xamarin pour les applications multiplateformes, consultez Migrer de Xamarin vers .NET MAUI.

En outre, ce guide fournit des conseils sur l’utilisation de Windows pour :

Android natif

Le développement Android natif sur Windows signifie que votre application cible uniquement Android (pas les appareils iOS ou Windows). Vous pouvez utiliser Android Studio ou Visual Studio pour développer au sein de l’écosystème conçu spécifiquement pour le système d’exploitation Android. Les performances seront optimisées pour les appareils Android, l’apparence de l’interface utilisateur sera cohérente avec les autres applications natives de l’appareil, et tous les composants ou fonctionnalités de l’appareil de l’utilisateur seront directement accessibles et utilisés. Le développement de votre application dans un format natif l’aidera à « se sentir bien », car elle suit tous les modèles d’interaction et les normes d’expérience utilisateur établis spécifiquement pour les appareils Android.

Multiplateforme

Les infrastructures multiplateformes fournissent un codebase unique qui peut (généralement) être partagé entre les appareils Android, iOS et Windows. L’utilisation d’une infrastructure multiplateforme peut aider votre application à conserver la même apparence, sensation et expérience à travers les plateformes d’appareils, et à tirer parti du déploiement automatique des mises à jour et des correctifs. Au lieu de devoir comprendre divers langages de code spécifiques à l’appareil, l’application est développée dans un codebase partagé, généralement dans un seul langage.

Bien que les infrastructures multiplateformes visent à se rapprocher autant que possible des applications natives, elles ne seront jamais intégrées de façon aussi harmonieuse qu’une application développée en mode natif et peuvent souffrir d’une vitesse réduite et de performances dégradées. En outre, les outils utilisés pour créer des applications multiplateformes peuvent ne pas avoir toutes les fonctionnalités offertes par chaque plateforme d’appareil différente, ce qui peut nécessiter des solutions de contournement.

Un codebase est généralement constitué de code d’interface utilisateur pour créer l’interface utilisateur comme des pages, des contrôles de boutons, des étiquettes, des listes, etc., et de code logique pour appeler des services web, accéder à une base de données, appeler des fonctionnalités matérielles et gérer l’état. En moyenne, 90 % de ces éléments peuvent être réutilisés, même s’il est généralement nécessaire de personnaliser le code pour chaque plateforme d’appareil. Cette généralisation dépend en grande partie du type d’application que vous créez, mais elle fournit un peu de contexte qui, espérons-le, vous aidera à prendre des décisions.

Choisir une infrastructure multiplateforme

.NET MAUI

  • Infrastructure multiplateforme permettant de créer des applications mobiles et de bureau natives avec C# et XAML.
  • Développez des applications qui peuvent s’exécuter sur Android, iOS, macOS et Windows à partir d’une base de code partagée unique, avec un accès profond à chaque aspect de chaque plateforme native à partir d’une seule API unifiée qui permet une expérience de développement écrite une seule fois, mais utilisée partout.
  • Partager la disposition et la conception de l’interface utilisateur entre les plateformes.
  • Une évolution open source Xamarin.Forms, étendue des scénarios mobiles aux scénarios de bureau, avec des contrôles d’interface utilisateur recréés à des fins de performances et d’extensibilité.
  • Migrer des projets Xamarin.Android vers .NET MAUI

React Native

  • Code de l’interface utilisateur : JavaScript
  • Code logique : JavaScript
  • L’objectif de React Native n’est pas d’écrire le code une seule fois et de l’exécuter sur n’importe quelle plateforme, mais plutôt d’apprendre une fois (de la manière React) et de l’écrire n’importe où.
  • La communauté a ajouté des outils tels qu’Expo et Create React Native App pour aider ceux qui souhaitent créer des applications sans utiliser Xcode ou Android Studio.
  • Comme pour .NET MAUI (C#), React Native (JavaScript) appelle des éléments d’interface utilisateur natifs (sans avoir besoin d’écrire Java/Kotlin ou Swift).

Applications Web progressives (PWA)

  • Code d’interface utilisateur : HTML, CSS, JavaScript
  • Code logique : JavaScript
  • Les applications web progressives (PWA) sont des applications web créées avec des modèles standard pour leur permettre de tirer parti des fonctionnalités d’application web et natives. Elles peuvent être créés sans infrastructure, mais Ionic et Apache Cordova sont quelques infrastructures populaires à prendre en compte.
  • Les PWA peuvent être installées sur un appareil (Android, iOS ou Windows) et peuvent fonctionner hors connexion grâce à l’incorporation d’un service worker.
  • Les PWA peuvent être distribuées et installées sans App Store à l’aide d’une URL web uniquement. Le Microsoft Store et Google Play Store autorisent les PWA à être répertoriées, ce qui n’est pas le cas actuellement de l’Apple Store, bien qu’elles puissent toujours être installées sur n’importe quel appareil iOS exécutant la version 12.2 ou ultérieure.
  • Pour en savoir plus, consultez cette présentation des PWA sur MDN.

Développement de jeux

Le développement de jeux pour Android est souvent unique du développement d’une application Android standard, car les jeux utilisent généralement une logique de rendu personnalisée, souvent écrite en OpenGL ou Vulkan. Pour cette raison, et aux nombreuses bibliothèques C disponibles qui prennent en charge le développement de jeux, il est courant pour les développeurs d’utiliser C/C++ avec Visual Studio, ainsi que le Kit de développement natif Android (NDK) pour créer des jeux pour Android. Prise en main de C/C++ pour le développement de jeux.

Pour plus d’informations sur le développement de jeux Android, consultez le site du développeur Android : Principes de base du développement de jeux. Vous trouverez des conseils sur l’utilisation d’un moteur de jeu (tel que Unity, Unreal, Defold, Godot), ainsi que sur l’utilisation d’IDE (tel que Android Studio ou Visual Studio).

Étapes suivantes