Información general sobre el desarrollo de Android en Windows
Guía para ayudarle a configurar el entorno de desarrollo en una máquina Windows 10 o Windows 11 para desarrollar aplicaciones Android. Android es una marca comercial de Google LLC. Si es un desarrollador interesado en usar el sistema operativo Windows para compilar aplicaciones que funcionan en dispositivos Android y en otras plataformas de dispositivos, esta guía es para usted.
También puede obtener información sobre el uso del Subsistema de Windows para Android™️ para actualizar y probar la aplicación Android para que se ejecute en un dispositivo Windows 11 mediante Amazon Appstore. Más información.
Hay varias rutas de acceso para desarrollar una aplicación de dispositivo Android mediante el sistema operativo Windows. Estas rutas de acceso se dividen en tres tipos principales: Desarrollo nativo de Android, Desarrollo multiplataforma y Desarrollo de juegos Android. Esta introducción le ayudará a decidir qué ruta de desarrollo seguir para desarrollar una aplicación Android y después le proporcionará los siguientes pasos que le ayudarán a empezar a usar Windows para desarrollar:
*Si ha estado usando Xamarin para aplicaciones multiplataforma, consulte Migración de Xamarin a .NET MAUI.
Además, esta guía proporcionará sugerencias sobre el uso de Windows para:
- Prueba en un dispositivo Android o emulador
- Desarrollo de aplicaciones de doble pantalla para Android y obtención del SDK de dispositivo para Surface Duo
El desarrollo nativo de Android en Windows significa que la aplicación solo tiene como destino Android (no dispositivos iOS o Windows). Puede usar Android Studio o Visual Studio para desarrollar dentro del ecosistema diseñado específicamente para el sistema operativo Android. El rendimiento estará optimizado para los dispositivos Android, el aspecto de la interfaz de usuario será coherente con el de otras aplicaciones nativas del dispositivo, y cualquier característica o capacidad del dispositivo del usuario será de fácil acceso y uso. Desarrollar su aplicación en un formato nativo ayudará a que "funcione bien", ya que sigue todos los patrones de interacción y los estándares de experiencia del usuario establecidos específicamente para los dispositivos Android.
Los marcos multiplataforma proporcionan un único código base que puede compartirse (principalmente) entre dispositivos Android, iOS y Windows. El uso de un marco multiplataforma puede ayudar a la aplicación a mantener la misma apariencia, sensación y experiencia en todas las plataformas de dispositivos, así como beneficiarse del lanzamiento automático de actualizaciones y correcciones. En lugar de necesitar comprender una variedad de lenguajes de código específicos del dispositivo, la aplicación se desarrolla en un código base compartido, normalmente en un lenguaje.
Aunque los marcos multiplataforma pretenden parecerse lo máximo posible a las aplicaciones nativas, nunca se integrarán tan perfectamente como una aplicación desarrollada de forma nativa y pueden sufrir una reducción de la velocidad y una degradación del rendimiento. Además, es posible que las herramientas que se usan para compilar aplicaciones multiplataforma no tengan todas las características que ofrece cada plataforma de dispositivo diferente, lo que podría requerir soluciones alternativas.
Una base de código se compone normalmente de código de interfaz de usuario, para crear la interfaz de usuario como páginas, controles de botones, etiquetas, listas, etc., y código lógico, para llamar a servicios web, acceder a una base de datos, invocar capacidades de hardware y administrar el estado. En promedio, se puede reutilizar el 90 % de esto, aunque normalmente es necesario personalizar código para cada plataforma de dispositivo. Esta generalización depende en gran medida del tipo de aplicación que está compilando, pero proporciona un poco de contexto que, con suerte, ayudará con la toma de decisiones.
- Es un marco multiplataforma para crear aplicaciones móviles y de escritorio nativas con C# y XAML.
- Desarrolle aplicaciones que puedan ejecutarse en Android, iOS, macOS y Windows a partir de una única base de código compartida, con acceso en profundidad a todos los aspectos de cada plataforma nativa desde una única API unificada que permite una experiencia de desarrollo de escritura única y ejecución en cualquier lugar.
- Compartir el diseño de la interfaz de usuario entre plataformas.
- Una evolución de código abierto de Xamarin.Forms, extendida desde escenarios móviles a escritorio, con controles de interfaz de usuario recompilados para mejorar el rendimiento y la extensibilidad.
- Migración de proyectos de Xamarin.Android a .NET MAUI
- Código de interfaz de usuario: JavaScript
- Código lógico: JavaScript
- El objetivo de React Native no es escribir el código una vez y ejecutarlo en cualquier plataforma, sino aprender una vez (a la manera de React) y escribir en cualquier lugar.
- La comunidad ha agregado herramientas como Expo y Create React Native App para ayudar a aquellos que quieran compilar aplicaciones sin usar Xcode o Android Studio.
- De forma similar a .NET MAUI (C#), React Native (JavaScript) llama a elementos nativos de la interfaz de usuario (sin necesidad de escribir Java/Kotlin o Swift).
Aplicaciones web progresivas (PWA)
- Código de interfaz de usuario: HTML, CSS, JavaScript
- Código lógico: JavaScript
- Las PWA son aplicaciones web creadas con patrones estándar para permitirles aprovechar las características de aplicaciones web y nativas. Se pueden crear sin un marco de trabajo, pero un par de marcos populares a considerar son Ionic y Apache Cordova.
- Las PWA se pueden instalar en un dispositivo (Android, iOS o Windows) y pueden funcionar sin conexión gracias a la incorporación de un trabajador de servicio.
- Las PWA se pueden distribuir e instalar sin una tienda de aplicaciones con solo una dirección URL web. Microsoft Store y Google Play Store permiten que se muestren PWA, mientras que actualmente Apple Store no lo permite, aunque aún pueden instalarse en cualquier dispositivo iOS que ejecute la versión 12.2 o posterior.
- Para más información, consulte esta introducción a las PWA en MDN.
El desarrollo de juegos para Android suele ser único en el desarrollo de una aplicación Android estándar, ya que los juegos suelen usar lógica de representación personalizada, a menudo escrita en OpenGL o Vulkan. Por este motivo, y debido a las numerosas bibliotecas de C disponibles que son compatibles con el desarrollo de juegos, es habitual que los desarrolladores usen C/C++ con Visual Studio, junto con el Kit de desarrollo nativo (NDK) de Android, para crear juegos para Android. Introducción a C/C++ para el desarrollo de juegos.
Para obtener más instrucciones sobre el desarrollo de juegos Android, consulte el sitio para desarrolladores de Android: Conceptos básicos del desarrollo de juegos. Encontrará información sobre cómo usar un motor de juegos (como Unity, Unreal, Defold, Godot), así como sobre el uso de IDE (como Android Studio o Visual Studio).
- Introducción al desarrollo nativo de Android en Windows
- Introducción a Subsistema de Windows para Android
- Introducción al desarrollo para Android mediante .NET MAUI
- Introducción al desarrollo para Android mediante React Native
- Introducción al desarrollo de PWA para Android
- Desarrollo de aplicaciones de doble pantalla para Android y obtención del SDK de dispositivo para Surface Duo
- Habilitación de la compatibilidad con la virtualización para mejorar el rendimiento del emulador
Comentarios de Windows developer
Windows developer es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: