Desarrollo multiplataforma en Visual Studio

Con Visual Studio se pueden crear aplicaciones para dispositivos iOS, Android y Windows y, asimismo, se pueden agregar fácilmente a las aplicaciones servicios conectados como Office 365, Servicios móviles de Azure y Application Insights. Tener varios dispositivos como destino es menos costoso, ya que puede compartir código, imágenes, cadenas y otros activos entre todos los proyectos de dispositivo. La aplicación se puede compilar mediante .NET Framework o mediante HTML.

En este artículo:

  • Compilar una aplicación para dispositivos iOS, Android y Windows (.NET Framework)

  • Compilar una aplicación para dispositivos iOS, Android y Windows (HTML/JavaScript)

Compilar una aplicación para dispositivos iOS, Android y Windows (.NET Framework)

Para compilar una aplicación para dispositivos Windows, instale Visual Studio 2013 Update 2 o posterior y, luego, elija un proyecto de Windows o de Windows Phone. Puede tener como destino todos los dispositivos Windows si usa una plantilla de proyecto de aplicación universal. Para compilar una aplicación para Android o iOS, instale Xamarin y, luego, cree un proyecto de Android o iOS. Puede tener como destino dispositivos tanto iOS, Android como Windows en la misma solución si lo desea y, luego, compartir el código entre todos los proyectos de dispositivo, usando para ello un proyecto compartido o un proyecto de Biblioteca de clases portable.

Obtenga más información

Para

Vea

Instalar Visual Studio 2013 Update 3

Descarga de Visual Studio 2013 Update 3

Obtener información sobre Xamarin

Sitio web de Xamarin

Obtener información sobre los proyectos compartidos

Proyectos compartidos en Xamarin (sitio web de Xamarin)

Obtener información sobre los proyectos de Biblioteca de clases portable

Proyectos de Biblioteca de clases portable

Obtenga información sobre las similitudes entre Swift y C#

Poster de referencia rápida de Swift y C#

En esta sección

  • Tener como destino dispositivos Windows

  • Tener como destino dispositivos iOS y Android

  • Compartir código entre dispositivos de iOS, Android y Windows

  • Escenarios de ejemplo

Tener como destino dispositivos Windows

Desde Windows 8.1 y Visual Studio 2013 Update 2, puede compilar aplicaciones que tengan como destino teléfonos, escritorios y tabletas Windows.

Dispositivos de Windows

Si desea tener como destino los tres, considere empezar con una plantilla de proyecto de aplicación universal. Estas plantillas ofrecen una solución que contiene un proyecto de Windows (para escritorios y tabletas), un proyecto de Windows Phone y un proyecto compartido. Los proyectos compartidos son novedad en Visual Studio 2013 Update 2 y facilitan la escritura de código en un solo lugar para, luego, usar ese código en proyectos tanto de Windows como de Windows Phone.

En la siguiente ilustración se muestran los tres proyectos (Windows Phone, Windows y compartido) en una única solución. Esta solución se creó con la plantilla de proyecto Aplicación Hub (Aplicaciones universales).

solución universal de aplicaciones para Windows

Los proyectos de aplicación universal están disponibles en C# y C++. Sin embargo, si es desarrollador de Visual Basic, puede seguir teniendo como destino ambos tipos de dispositivo, para lo cual debe agregar proyectos separados de Windows y de Windows Phone a una solución y, a continuación, usar un proyecto de Biblioteca de clases portable para compartir código entre ellos.

Obtenga más información

Para

Vea

Instalar Visual Studio 2013 Update 3

Descarga de Visual Studio 2013 Update 3

Obtener información sobre las aplicaciones de Windows universales

Creación de aplicaciones de Windows universales (Centro de desarrollo de Windows)

Obtener información sobre las plantillas de proyecto de aplicación universal

Creación de aplicaciones universales de Windows diseñadas para Windows y Windows Phone

Obtener información sobre los proyectos de Biblioteca de clases portable

Proyectos de Biblioteca de clases portable

Tener como destino dispositivos iOS y Android

Puede compilar aplicaciones para dispositivos iOS y Android usando C#. Para empezar, instale Xamarin. Después de instalar Xamarin, verá que las plantillas de proyecto de iOS y Android aparecen en el cuadro de diálogo Nuevo proyecto, como se muestra en la siguiente ilustración.

Proyectos de iOS y Android en Visual Studio

Estas plantillas exponen la funcionalidad nativa de los dispositivos iOS y Android como objetos de C#. Las aplicaciones tienen acceso total a las API nativas y a los controles de usuario nativos, de modo que tienen la misma capacidad de respuesta que las aplicaciones iOS y Android escritas con Objective-C o Java.

Puede incluir proyectos de Windows, de iOS y de Android en la misma solución. Esta es una solución de aplicación universal que incluye proyectos de Windows, Windows Phone, Android e iOS. Todos los proyectos pueden usar el código del proyecto compartido.

Solución para proyectos de iOS, Android y Windows

Obtenga más información

Para

Vea

Obtener información sobre Xamarin

Sitio web de Xamarin

Instalar Xamarin

Descarga de Xamarin (sitio web de Xamarin)

Obtener información sobre las plantillas de proyecto de aplicación universal

Creación de aplicaciones universales de Windows diseñadas para Windows y Windows Phone

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

La mayoría del código se puede compartir entre proyectos de dispositivos. 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. Se pueden compartir algunas cosas más entre proyectos de Windows y Windows Phone, ya que muchos aspectos de las dos plataformas han convergido. El único código que no se puede compartir es el código que tiene como destino una plataforma específica.

Compartir código entre las IU 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.

Obtenga más información

Para

Vea

Decida si va compartir el código mediante proyectos compartidos, proyectos de Biblioteca de clases portable o ambos

Compartir código entre plataformas (blog de .NET Framework)

Opciones de código compartido (sitio web de Xamarin)

Opciones de uso compartido de código con .NET Framework

Escenarios de ejemplo

Puede tener como destino varios dispositivos o solo uno. Si solo tiene un dispositivo como destino, siempre puede agregar más dispositivos más adelante. En esta sección se describen dos posibles rutas de acceso.

Comenzar con Android y compilar una versión de iOS más adelante

Paso

Vea

Instalar Xamarin.

Descarga de Xamarin (sitio web de Xamarin)

Instalar el administrador de referencias de proyecto compartido.

Descargar el administrador de referencias de proyecto compartido

Crear una aplicación Android.

Introducción al desarrollo de Android con Xamarin (sitio web de Xamarin)

Crear un proyecto compartido y mover todo el código que sea posible a ese proyecto.

Compartir proyectos en Xamarin (sitio web de Xamarin)

Agregar símbolos de compilación condicional al proyecto Android.

Por ejemplo, agregue un símbolo denominado _ANDROID_ al proyecto. A continuación, utilice ese símbolo como parte de una directiva de compilador en el código compartido para incluir bloques de código específico de Android.

Símbolos de compilación condicional en Visual Studio (sitio web de Pinter Computing)

Agregar un proyecto de iOS a la solución.

Introducción al desarrollo de iOS con Xamarin (sitio web de Xamarin)

Hacer referencia al proyecto compartido desde el proyecto de iOS.

Compartir proyectos en Xamarin (sitio web de Xamarin)

Agregar símbolos de compilación condicional al proyecto iOS.

Por ejemplo, agregue un símbolo denominado _IOS_ al proyecto. A continuación, utilice ese símbolo como parte de una directiva de compilador en el código compartido para incluir bloques de código específico de iOS.

Símbolos de compilación condicional en Visual Studio (sitio web de Pinter Computing)

Comenzar con dispositivos Windows y compilar una versión de iOS más adelante

Paso

Vea

Crear una aplicación de Windows universal.

Creación de aplicaciones universales de Windows diseñadas para Windows y Windows Phone

Instalar el administrador de referencias de proyecto compartido.

Descargar el administrador de referencias de proyecto compartido

Agregar un proyecto de iOS a la solución.

Introducción al desarrollo de iOS con Xamarin (sitio web de Xamarin)

Hacer referencia al proyecto compartido desde el proyecto de iOS.

Compartir proyectos en Xamarin (sitio web de Xamarin)

Agregar símbolos de compilación condicional al proyecto iOS.

Por ejemplo, agregue un símbolo denominado _IOS_ al proyecto. A continuación, utilice ese símbolo como parte de una directiva de compilador en el código compartido para incluir bloques de código específico de iOS.

Utilice el símbolo WINDOWS_PHONE_APP para incluir código específico de Windows Phone. Utilice el símbolo WINDOWS_APP para incluir código específico de Windows.

Utilice WINDOWS_PHONE_APP || WINDOWS_APP para incluir el código que se aplica a Windows o Windows Phone.

Símbolos de compilación condicional en Visual Studio (sitio web de Pinter Computing)

Compilar una aplicación para dispositivos iOS, Android y Windows (HTML/JavaScript)

Si es un desarrollador web familiarizado con HTML y JavaScript, puede usar Visual Studio Tools para Apache Cordova para crear una aplicación que tenga como destino dispositivos iOS, Android y Windows. Puede crear una aplicación que solo tenga como destino dispositivos Windows, o bien crear una aplicación de Windows universal mediante las plantillas expresamente diseñadas para ayudarle a crear aplicaciones para dispositivos Windows.

En esta sección

  • Tener como destino dispositivos Android, iOS y Windows

  • Tener como destino solo dispositivos Windows

Tener como destino dispositivos iOS, Android y Windows mediante Apache Cordova

Use Visual Studio Tools para Apache Cordova si quiere crear una aplicación de Windows que funcione en Android o en iOS o si piensa que más adelante va a querer agregar compatibilidad para dispositivos Android o iOS. Estas aplicaciones pueden tener como destino las tres plataformas, y las puede crear mediante Apache Cordova.

Cordova es un conjunto de API de dispositivo que permiten acceder mediante JavaScript a funciones de dispositivos nativas como la cámara o el acelerómetro. No hay que escribir código nativo para acceder a esta funcionalidad, ya que las API son multiplataforma, de modo que puede compartir la mayor parte de lo que escriba con otras plataformas de destino.

Aplicaciones híbridas para varios dispositivos

Para empezar, instale Visual Studio Tools para Apache Cordova. Esta extensión instala automáticamente todo el software de terceros necesario para la compilación de una aplicación para varios dispositivos. En Visual Studio, cree una plantilla Aplicación vacía (Apache Cordova) para usar estas API y crear la aplicación. Esta plantilla establece un proyecto de forma automática. Tras ello, puede desarrollar la aplicación mediante JavaScript o TypeScript.

Puede agregar complementos para ampliar la funcionalidad de la aplicación; a medida que escriba código, aparecerán las API de los complementos en IntelliSense. En la mayoría de los casos, no tiene que instalar o configurar ninguna otra herramienta para depurar la aplicación. Basta con usar el depurador de Visual Studio para tener varios emuladores como destino.

Obtenga más información

Para

Vea

Obtener información sobre las plantillas de proyecto de Cordova en Visual Studio

Introducción a Visual Studio Tools para Apache Cordova

Instale Visual Studio Tools para Apache Cordova.

Visual Studio Tools para Apache Cordova

Tener como destino solo dispositivos Windows

Si va a tener como destino únicamente dispositivos de Windows (escritorio, teléfono o tableta), la forma más rápida de empezar consiste en usar una plantilla de proyecto de Windows, de Windows Phone o de aplicación universal. Estas plantillas proporcionan código de inicio de HTML y JavaScript y ofrecen acceso completo a las características y API nativas a través de Windows en tiempo de ejecución. Encontrará cuantiosa información de orientación que le ayude a crear su aplicación en el Centro de desarrollo de Windows. Si, más adelante, decide tener como destino dispositivos iOS y Android, puede trasladar el código a un proyecto de Cordova. Existen versiones de código abierto de las API de WinJS, de modo que se puede reutilizar cualquier código que use esas API.

Dispositivos de Windows

Las plantillas de aplicación universal son más versátiles que las plantillas de aplicación de Windows y Windows Phone. Proporcionan una solución que incluye un proyecto tanto de Windows como de Windows Phone. Aun cuando en este momento solo quiera tener como destino un único dispositivo (por ejemplo, un teléfono con Windows Phone), se alegrará de usar una plantilla de aplicación universal si, más adelante, decide tener como destino otros dispositivos Windows (como tabletas o equipos de escritorio). Eso se debe a que la solución contiene un proyecto compartido donde puede escribir código en un solo lugar y, posteriormente, usar ese código en ambos proyectos de dispositivo. Puede compartir bastante del código entre los proyectos de Windows y de Windows Phone, ya que muchos aspectos de las dos plataformas han convergido.

En la siguiente ilustración se muestran los tres proyectos (Windows Phone, Windows y compartido) en una única solución. Esta solución se creó con la plantilla de proyecto Aplicación Hub/Pivot (aplicaciones universales).

Solución universal de aplicaciones

Obtenga más información

Para

Vea

Instalar Visual Studio 2013 Update 3

Descarga de Visual Studio 2013 Update 3

Obtener información sobre las aplicaciones de Windows universales

Creación de aplicaciones de Windows universales para cualquier dispositivo de Windows (Centro de desarrollo de Windows)

Obtener información sobre las plantillas de proyecto de aplicación universal en Visual Studio

Plantillas de aplicación universal

Crear una aplicación para Windows Phone

Crear aplicaciones de Windows Phone 8.1 en HTML (blog de Visual Studio)

Vea también

Conceptos

Application Insights para Visual Studio Online

Otros recursos

Agregar API de Office 365 a un proyecto de Visual Studio

Servicios móviles de Azure