Desarrollo móvil multiplataforma en Visual Studio

Puede crear aplicaciones para dispositivos Android, iOS y Windows con Visual Studio. Al diseñar la aplicación, use las herramientas de Visual Studio para agregar fácilmente servicios conectados, como Microsoft 365, Azure App Service y Application Insights.

Crear aplicaciones mediante C# y .NET Framework, HTML y JavaScript o C++. Comparta código, cadenas, imágenes y, en algunos casos, incluso la interfaz de usuario.

Si quiere compilar un juego o una aplicación gráfica inmersiva, instale Visual Studio Tools para Unity y disfrute de las eficaces características de productividad de Visual Studio con Unity, el popular entorno de desarrollo y motor multiplataforma de juegos y gráficos para aplicaciones que se ejecuta en iOS, Android, Windows y otras plataformas.

Compilación de una aplicación para Android, iOS y Windows (.NET Framework)

Captura de pantalla que muestra diferentes tipos de dispositivos domésticos.

Con Visual Studio Tools para Xamarin, puede tener como destino Android, iOS y Windows en la misma solución, compartir código e incluso la interfaz de usuario.

Más información
Instalar Visual Studio (VisualStudio.com)
Obtenga información acerca de Xamarin en Visual Studio (VisualStudio.com)
Documentación de desarrollo de aplicaciones móviles de Xamarin
DevOps con aplicaciones de Xamarin
Obtenga información acerca de las aplicaciones de Windows universales en Visual Studio (VisualStudio.com)
Obtenga información acerca de las similitudes entre Swift y C# (download.microsoft.com)

Tener como destino Android, iOS y Windows desde una sola base de código

Puede compilar aplicaciones nativas para Android, iOS y Windows usando C# o F# (Visual Basic no se admite en este momento). Para empezar, instale Visual Studio y seleccione la opción Desarrollo para dispositivos móviles con .NET en el programa de instalación.

Si ya tiene Visual Studio instalado, vuelva a ejecutar el Instalador de Visual Studio y seleccione la misma opción Desarrollo para dispositivos móviles con .NET para Xamarin (como se muestra anteriormente).

Cuando termine, las plantillas de proyecto aparecen en el cuadro de diálogo Nuevo proyecto. La manera más fácil de encontrar las plantillas de Xamarin es buscar por "Xamarin".

Xamarin expone la funcionalidad nativa de Android, iOS y Windows como clases y métodos .NET. Las aplicaciones tienen acceso total a las API y a los controles nativos, y la misma capacidad de respuesta que las aplicaciones escritas en los lenguajes nativos de la plataforma.

Después de crear un proyecto, usará todas las características de productividad de Visual Studio. Por ejemplo, podrá usar un diseñador para crear páginas y usar IntelliSense para explorar las API nativas de las plataformas móviles. Cuando esté listo para ejecutar la aplicación y ver su aspecto, puede usar el emulador de Android SDK y ejecutar aplicaciones Windows de forma nativa. También puede usar directamente dispositivos Android y Windows anclados a red. Para los proyectos de iOS, conéctese a un equipo Mac en red e inicie el emulador de iOS desde Visual Studio, o conéctese a un dispositivo anclado a red.

Diseñar un conjunto de páginas que se representan en todos los dispositivos mediante Xamarin.Forms

Según la complejidad del diseño de las aplicaciones, puede considerar la posibilidad de compilarlas usando plantillas Xamarin.Forms en el grupo Aplicaciones móviles de plantillas de proyecto. Xamarin.Forms es un kit de herramientas de interfaz de usuario que permite crear una única interfaz de usuario que puede compartir entre Android, iOS y Windows. Al compilar una solución Xamarin.Forms, obtendrá una aplicación Android, una aplicación iOS y una aplicación Windows. Para obtener más información, consulte Más información sobre el desarrollo móvil con Xamarin y la Documentación de Xamarin.Forms.

Compartir código entre aplicaciones de Android, iOS y Windows

Si no está usando Xamarin.Forms y opta por un diseño individual para cada plataforma, puede compartir la mayor parte del código que no sea de interfaz de usuario entre los proyectos de plataforma (Windows, iOS y Android). Esto incluye cualquier lógica de negocios, la integración en la nube, el acceso a bases de datos o cualquier otro código que tenga como destino .NET Framework. El único código que no se puede compartir es el código que tiene como destino una plataforma específica.

Captura de pantalla que muestra el diagrama lógico que muestra el código compartido entre las UI de Windows, iOS y Android.

El código se puede compartir mediante un proyecto compartido, un proyecto de Biblioteca de clases portable o ambos. Posiblemente verá que algunos códigos encajan mejor en un proyecto compartido y que otros tienen más sentido dentro de un proyecto de Biblioteca de clases portable.

Más información
Sharing Code Options (Opciones de uso compartido de código) (Xamarin)
Opciones de uso compartido de código con .NET

Tener como destino dispositivos Windows 10

Captura de pantalla de diferentes tipos de dispositivos Windows.

Si quiere crear una única aplicación que tenga como destino la gran variedad de dispositivos de Windows 10, cree una aplicación de Windows universal. Podrá diseñar la aplicación usando un solo proyecto y las páginas se representarán correctamente en cualquier dispositivo que se use para verlas.

Comience con una plantilla de proyecto de aplicación para Plataforma universal de Windows (UWP). Diseñe visualmente las páginas y, después, ábralas en una ventana de vista previa para ver cómo se ven en diversos tipos de dispositivos. Si no le gusta cómo se muestra una página en un dispositivo, puede optimizar la página para ajustarla mejor al tamaño de pantalla, la resolución o las distintas orientaciones, como el modo vertical o el horizontal. Puede hacer todo eso con opciones de menú de fácil acceso y ventanas de herramientas intuitivas en Visual Studio. Cuando esté listo para ejecutar la aplicación y recorrer el código, encontrará todos los emuladores de dispositivos y los simuladores de diferentes tipos de dispositivos en una lista desplegable que se encuentra en la barra de herramientas Estándar.

Más información
Introducción a la Plataforma universal de Windows
Crear la primera aplicación
Desarrollar aplicaciones para la Plataforma universal de Windows (UWP)

Compilar una aplicación para Android, iOS y Windows (C++)

Captura de pantalla donde aparece el uso de C++ para compilar para Android, iOS y Windows.

Primero, instale Visual Studio y la carga de trabajo Desarrollo móvil con C++ . Después, puede compilar una aplicación native-activity para Android o una aplicación que tenga como destino Windows o iOS. Puede tener como destino Android, iOS y Windows en la misma solución si quiere y, después, compartir código entre ellos mediante una biblioteca compartida estática o dinámica multiplataforma.

Si necesita compilar una aplicación para Android que requiere algún tipo de manipulación de gráficos avanzada, como un juego, puede hacerlo con C++. Comience con el proyecto Aplicación native-activity (Android) . Este proyecto es totalmente compatible con la cadena de herramientas Clang.

Captura de pantalla que muestra la plantilla de proyecto de actividad nativa.

Cuando esté listo para ejecutar la aplicación y ver su aspecto, use Android Emulator. Es rápido, fiable y fácil de instalar y configurar.

También puede compilar una aplicación que tenga como destino todos los dispositivos con Windows 10 mediante C++ y una plantilla de proyecto de aplicación para Plataforma universal de Windows (UWP). Obtenga más información sobre este punto en la sección Tener como destino dispositivos Windows 10, anteriormente en este artículo.

Puede compartir código de C++ entre Android, iOS y Windows mediante la creación de una biblioteca compartida estática o dinámica.

Captura de pantalla que muestra bibliotecas compartidas estáticas y dinámicas.

Puede usar dicha biblioteca en un proyecto de Windows, iOS o Android, como los descritos anteriormente en este artículo. Puede también usarla en una aplicación compilada con Xamarin, Java o cualquier lenguaje que permite invocar funciones en una DLL no administrada.

A medida que escribe código en estas bibliotecas, puede usar IntelliSense para explorar las API nativas de las plataformas de Android y Windows. Estos proyectos de biblioteca están totalmente integrados con el depurador de Visual Studio para que pueda establecer puntos de interrupción. Recorra el código y busque y corrija problemas mediante todas las características avanzadas del depurador.

Más información
Descarga de Visual Studio (VisualStudio.com)
Instalación del desarrollo móvil multiplataforma con C++
Obtenga información acerca de cómo usar C++ para varias plataformas de destino (VisualStudio.com)
Instalar lo necesario y crear una aplicación de actividad nativa para Android
Obtenga información acerca de cómo compartir código de C++ con aplicaciones Android y Windows (VisualStudio.com)
Ejemplos de desarrollo móvil multiplataforma para C++

Compilar un juego multiplataforma para Android, iOS y Windows con Visual Studio Tools para Unity

Visual Studio Tools para Unity es una extensión gratuita para Visual Studio que integra las eficaces herramientas de edición de código, productividad y depuración de Visual Studio con Unity, el popular motor y entorno de desarrollo multiplataforma de juegos y gráficos para aplicaciones inmersivas destinadas a Windows, iOS, Android y otras plataformas, incluida la Web.

Captura de pantalla que muestra la información general de Visual Studio Tools para Unity y el entorno de desarrollo.

Con Visual Studio Tools para Unity (VSTU), puede usar Visual Studio para escribir scripts de editor y juegos en C# y, a continuación, usar su eficaz depurador para buscar y corregir errores. La versión más reciente de VSTU aporta compatibilidad con Unity 2019.4 e incluye colores de sintaxis del lenguaje de sombreado ShaderLab de Unity, una mejor sincronización con Unity, una depuración más completa y una generación de código mejorada para el asistente de MonoBehavior. VSTU también integra los archivos de proyecto de Unity, los mensajes de la consola y la capacidad de iniciar el juego en Visual Studio, de modo que pueda dedicar menos tiempo a conmutar con el editor de Unity al escribir código.

Más información
Obtenga información acerca de la compilación de juegos Unity con Visual Studio
Más información sobre Visual Studio Tools para Unity
Empezar a usar Visual Studio Tools para Unity
Obtener más información acerca de las mejoras más recientes de Visual Studio Tools para Unity 2.0 Preview (blog de Visual Studio)
Ver un vídeo de introducción a Visual Studio Tools para Unity 2.0 Preview (vídeo)
Obtenga información acerca de Unity (sitio web de Unity)