Modulo2 VisualStudioenMAC
Modulo2 VisualStudioenMAC
PROGRAMA
DE MÓDULO 2. VISUAL STUDIO PARA MAC
ENSEÑANZA .NET Y VISUAL STUDIO
ABIERTA
2018-2019
|Equipo Docente de .NET y VISUAL STUDIO
PROGRAMA DE FORMACIÓN PROFESIONAL Y PERSONAL
INDICE DE CONTENIDOS
INTRODUCCIÓN
Visual Studio para Mac ha convertido el IDE de Xamarin enfocado en el desarrollo para dispositivos móviles,
el Xamarin Studio, en un entorno de desarrollo para Mac OS. Esta herramienta enfocada al desarrollador le
permite usar las características de .NET para crear aplicaciones para todas las plataformas requeridas por
sus usuarios.
La experiencia de usuario (UX) de Visual Studio para Mac es similar a la de la versión de Windows, pero con
una sensación nativa de macOS. La creación y el desarrollo de una aplicación en este entorno es una
experiencia familiar para cualquiera que haya utilizado Visual Studio en Windows. La plataforma de
compilación de Roslyn se utiliza para la refactorización y para el uso de IntelliSense. El sistema de proyectos
y el motor de compilación utiliza MSBuild. Y el editor, además de los lenguajes de .NET admite paquetes
TextMate para el uso del entorno con otros lenguajes. Utiliza los mismos motores de depuración para las
aplicaciones Xamarin y .NET Core, y los mismos diseñadores para Xamarin.iOS y Xamarin.Android.
En los últimos años Microsoft ha cambiado significativamente su visión y estrategia, abriéndose a otras
plataformas, adoptando el código abierto y centrándose aún más en los servicios en la nube. De hecho,
Microsoft ha estado haciendo grandes inversiones para llevar sus tecnologías, sus plataformas, sus
herramientas de desarrollo, sus marcos y sus servicios a otros sistemas operativos como Linux y macOS, y
para usuarios que no eran de Microsoft. El desarrollo multiplataforma es de primordial importancia para
esta estrategia y se basa en dos tecnologías principales (aparte de los servicios y plataformas en la nube):
• .NET Core: como un subconjunto modular, de código abierto y multiplataforma del marco de
.NET para permitir a los desarrolladores escribir aplicaciones y servicios que se ejecutan en Windows,
Linux y Mac en C # y F #.
• Xamarin: como la tecnología que permite a los desarrolladores escribir aplicaciones móviles que
se ejecutan en Android, iOS y Windows con C # y F #.
En esta visión, hay un pilar importante: el uso de lenguajes .NET como C # y F # para escribir código para
cualquier plataforma. Lo más importante es que los desarrolladores pueden reutilizar sus habilidades de
.NET en Linux y macOS, no solo en Windows. Pero para hacer esto posible, es necesario disponer de las
herramientas para crear aplicaciones. Quienes trabajan en Windows tienen Visual Studio que ahora
admite una variedad de tecnologías que no son de Microsoft. Para otros sistemas, Microsoft lanzó Visual
Studio Code (code.visualstudio.com), una herramienta multiplataforma de código abierto. Sin embargo,
Visual Studio Code no tiene herramientas de diseño integradas, no es compatible con Xamarin (al menos
en la actualidad) y no proporciona herramientas especializadas que los desarrolladores puedan necesitar,
como herramientas de publicación integradas o instrumentos de creación de perfiles. Sin embargo, este
entorno no resuelve la necesidad para aplicaciones de Apple que exigen que para los entornos Mac se
deba crear, firmar y distribuir las aplicaciones. De esta forma, en 2017 Microsoft finalmente lanzó la
primera versión de Visual Studio para Mac. Visual Studio para Mac es un entorno de desarrollo integrado
que se puede usar en macOS para crear aplicaciones que se ejecutan en cualquier plataforma y cualquier
dispositivo en C # y F #, y que se integra perfectamente en esta primera visión de la nube para dispositivos
móviles. Visual Studio para Mac no es una simple conversión de Visual Studio en Windows, ni es una
evolución de Visual Studio Code. En su lugar, es un entorno de desarrollo profesional creado
específicamente para Mac, con una interfaz de usuario nativa y herramientas adaptadas para macOS y
para el desarrollo multiplataforma.
Visual Studio para Mac está disponible en tres versiones diferentes: Community, Professional y Enterprise.
Si no tiene una suscripción a MSDN y es un desarrollador individual, puede instalar la edición comunitaria
de forma gratuita. Esta edición también se puede utilizar bajo estrictos términos de licencia en
organizaciones empresariales y no empresariales:
FIGURA 1.VERSIONES VISUAL STUDIO PARA MAC
A menos que se especifique lo contrario, todos los temas comentados en este documento están
disponibles en las tres ediciones.
Los requisitos básicos del sistema para poder instalar el entorno son:
Un entorno Mac con al menos 4 GB de RAM y procesador de 1,8 GHz
Entre 1,8 GB y 4 GB de espacio en disco.
Las versiones de MacOS mínima es la denominada “Capitan”, versión 10.11. Aunque la
configuración recomendada es con macOS “Sierra” 10.12 y con 8 GB de RAM. Y los ejemplos de
este documento se han realizado sobre un entorno macOS “Mojave” 10.14.
El proceso de instalación se inicia una vez descargado el fichero “dmg” con el ejecutable del instalador que
inicia las opciones que podemos elegir:
FIGURA 2.OPCIONES DE INSTALACIÓN
Después de esta breve introducción vamos a comentar los elementos fundamentales de funcionamiento
del entorno y las acciones básicas de depuración. Además hemos incluido un ejemplo sencillo para los dos
entornos principales de desarrollo: .NET Core y Xamarin.
En el inicio el entorno es similar al que encontramos en Windows. La ventana de “Splash” incluye una serie
de enlaces a recursos que intentan facilitar las tareas más habituales:
FIGURA 3. VENTANA SPLASH DE INICIO DE VS PARA MAC
Las áreas de esta ventana de inicio son:
Proyectos recientes: La lista de las últimas soluciones que se han manejado en el entorno. Desde
cada una de ellas podemos cargar en el entorno la solución sobre la que se quiera trabajar.
Noticas del desarrollador. En esta parte de la ventana de inicio se incluyen noticias y avisos de
actualizaciones del entorno. Desde cada noticia podemos acceder vía web a los detalles de cada
elemento.
Comenzar: Es una lista a elementos iniciales de soporte y ayuda para los usuarios que se inician en
el uso del entorno o para nuevos elementos que se han incorporado o modificado.
Para crear un nuevo proyecto podemos usar la opción de la ventan de “splash” o elegir en el menú “Nueva
solución”. Esta opción no inicia la lista de plantillas de soluciones disponibles agrupadas en distintas
categorías:
Multiplataforma. Plantillas Xamarin para el desarrollo de apps para móviles, juegos o librerías.
iOS. Contiene plantillas de Xamarin.iOS para las plataformas iPhone o iPad.
Android. Contiene plantillas de Xamarin.Android para los dispositivos Android incluyendo
wearables y juegos.
.NET Core. Incluye plantillas para .NET Core vacías para .NET Core y .NET Core Web y ASP .NET
Core.
Nube. Incluye una plantilla AzureFunctions (aplicaciones Azure sin servidor ni infraestructura).
Mac. Aplicaciones Mac basada en Cocoa y Juegos.
tvOS. Aplicaciones para la plataforma tvOS con una vista o pestañas.
Otros. En esta categoría genérica se incluyen plantillas para el desarrollo de aplicaciones .NET,
paquetes Nuget, ASP.NET o una solución completamente en blanco.
FIGURA 4. PLANTILLAS VISUAL STUDIO
Como ejemplo, básico vamos a construir una aplicación “reloj” para macOS con la plantilla de “Aplicación
Cocoa” desde Visual Studio. Iniciamos un nuevo proyecto “Reloj” desde la opción de Archivo‐>Nueva
Solución con la plantalla de Mac‐>Apliación Cocoa. Lo primero que debemos es incluie la información de la
aplicación:
Nombre: Reloj
Id organización: com.IAC
También podemos elegir la personalización de la aplicación en el “dock” del escritorio y si queremos que
sea compatible la aplicación con la administración de documentos para almacenar información en local y
en iCloud. La opción de OS X mínima que va desde OS X Lion al macOS actual
FIGURA 5. CONFIGURACIÓN DE LA APLICACIÓN
Con esta configuración se incia en el entorno dos pestanas, una con AppDelegate.cs del código principal y
otra con el asistente de Xamarin.Mac para enlazar con las opciones de ayuda (Learn), de desarrollo (Build)
y de pruebas (Test). Si elegimos la ejecución de la aplicación vacía se mostrará una venana en blanco sobre
la que podemos trabajar.
Para el desarrollo de la interfaz, Visual Studio lanza desde la opción de “Build”, el “StoryBoard Designer”
(editor de guíones) de Xcode que no es otra cosa que un editor de fichero “xib” (en el Explorador de la
Solución, el fichero Main.storyboard) que podemos iniciar desde la pestana “Xamarin.Mac” o abriendo el
“storyboard” directamente. En este caso se inicia el entorno Xcode con su editor de guiones:
FIGURA 6. EDITOR XCODE DE GUIONES
En este editor de guiones vamos a incluir un “label” y un “botón” con las opciones disponibles en el panel
de objetos disponible (los objetos disponibles en Xcode están accesibles desde el icono de objetos, un
cuadrado con un círculo dentro):
FIGURA 7. OBJETOS COCOA
Al editar el guión, se sincroniza automáticamente desde Xcode hacia Visual Studio y se incluyen los
recursos de los objetos en el proyecto Visual. Si ejecutamos la aplicación ahora aparcerá con la etiqueta y
el botón que hemos incluido:
FIGURA 8. APLICACIÓN RELOJ
2.2. EDITOR
El entorno como en Visual Studio se organiza en una serie de ventanas flotantes que para usar la
terminología Mac se denominan Paneles (Pads). En las capturas anteriores hemos usado el panel de la
solución:
FIGURA 9. PANEL DE LA SOLUCIÓN
Y existen otra colección de paneles equivalentes a los cuadros de Visual Studio para Windows:
Panel de clases. Que muestra la jerarquía de clases de la aplicación sobre la que se está
trabajando.
Panel de errores. El panel de errores muestra todos los mensajes que genera durante el desarrollo
de una aplicación. Los mensajes pueden ser errores, advertencias y mensajes. Los errores incluyen
cualquier problema o errores de bloqueo que encuentre el compilador que impida que su código
se compile correctamente y, en consecuencia, impiden que su aplicación se ejecute. Las
advertencias incluyen mensajes sobre posibles problemas que en realidad no impiden que su
código se compile correctamente, pero que no debe ignorarse, por ejemplo, duplicidad de
declaración de variables o variables no usadas. Los mensajes son avisos relacionados con las
operaciones del entorno, pero no afectan a la compilación de la aplicación.
Panel de propiedades. La apariencia del panel de propiedades es diferente según el elemento para
el que necesita configurar las propiedades, pero generalmente aparece como una tabla de dos
columnas en la que la columna de la izquierda muestra el nombre de la propiedad y la columna de
la derecha muestra o establece el valor de la propiedad.
Cuadro de herramientas. El cuadro de herramientas facilita la inclusión de elementos a su código o
a elementos de la interfaz de usuario. En lugar de escribir manualmente fragmentos de código o
escribir el código que define una parte de la interfaz de usuario en el momento del diseño, puede
arrastrar elementos desde el teclado de la caja de herramientas hasta el editor de código o la
superficie del diseñador.
Existen otros paneles: tareas, resultados de pruebas, Consola de pquetes, etc., que podemos
mostrar/ocultar desde la opción Ver del entono.
Como regla general, Visual Studio abrirá una nueva ventana de editor cada vez que haga doble clic en un
archivo de código en el panel de soluciones. Cada archivo de código vive en una ventana de editor
separada que está representada por una pestaña. Visual Studio puede manejar infinitas ventanas de editor
(y pestañas). De manera predeterminada, el editor de código muestra la vista completa de un archivo de
código, pero puede dividir una sola ventana de editor en dos columnas con Ver> Editor de columnas> Dos
columnas. Esto es útil cuando necesita trabajar en diferentes lugares en el mismo archivo de código
simultáneamente. Use Ver> Editor de columnas> Una columna para restaurar la vista original.
Como es de esperar, el editor de código de Visual Studio para Mac proporciona presentación de sintaxis
para todos los lenguajes compatibles, como C #, F #, XML, XAML, HTML, JavaScript, JSON y Visual Basic. En
todos los demás casos, el editor de código tratará los archivos como documentos de texto plano.
El menú Editar ofrece comandos comunes para editar texto, como Copiar, Pegar, Cortar, Deshacer,
Rehacer y Seleccionar todo. También proporciona el submenú Formato, que incluye comandos para
arreglar espacios como Formato de documento, Sangrar y Desvincular. También puede convertir
rápidamente una línea, cadena o identificador a mayúsculas y minúsculas con los comandos del mismo
nombre. Con Unir líneas, puede convertir varias líneas de código seleccionadas en una sola línea. Con los
Comentarios de Toggle Line, puede comentar o descomentar rápidamente una o más líneas. Para cada
comando, el menú Editar también muestra los atajos de teclado adecuados. Los más comunes son
Comando + C (Copiar), Comando + V (Pegar), Comando + X (Cortar) y Comando + Z (Deshacer).
Como ocurre en la versión de Windows, el entorno incluye NuGet como administrador de paquetes
integrado. A través de una interfaz de usuario integrada, el Administrador de paquetes de NuGet le
permite descargar y hacer referencia a una gran cantidad de bibliotecas abiertas, y también resuelve
automáticamente cualquier dependencia adicional que pueda necesitar una biblioteca. Las bibliotecas se
agrupan en los llamados paquetes NuGet, que son archivos con la extensión .nupkg que contienen la
propia biblioteca, metadatos que ayudan a los desarrolladores a identificar una biblioteca e información
sobre las dependencias que una biblioteca necesita para consumir correctamente. Los paquetes de NuGet
están alojados (y pueden publicarse) en un repositorio en línea disponible en NuGet.org:
FIGURA 10. ADMINISTRADOR DE PAQUETES NUGET
El cuadro de diálogo Agregar paquetes muestra la lista de paquetes disponibles de NuGet.org. Para cada
paquete, se puede ver la descripción, el autor, la fecha de publicación, el número de descargas y las
dependencias adicionales que requiere el paquete. De forma predeterminada, solo se muestran las
versiones estables, pero puede seleccionar la casilla de verificación y mostrar paquetes de versión
preliminar para ver otras versiones. Cuando se selecciona un paquete NuGet para la instalación, Visual
Studio mostrará un cuadro de diálogo que contiene una lista de todas las bibliotecas que se instalarán y un
enlace al acuerdo de licencia para cada una. Mientras Visual Studio descarga e instala el paquete NuGet
con sus dependencias, se puede ver el progreso de la operación en la barra de estado. Cuando haya
terminado, en el panel de soluciones se muestra un nuevo nodo llamado NuGet en Dependencias. Si se
expande este nodo, se ve la biblioteca que se haya instalado y la lista de dependencias en las que se basa
la biblioteca, si corresponde.
Visual Studio para Mac aprovecha los depuradores que se suministran con los dos marcos principales en
los que se basa. Para .NET Core, Visual Studio se basa en el Microsoft .NET Core Debugger, que se incluye
en el .NET Core SDK. Este es el mismo depurador que utilizan los entornos como Visual Studio Code y
Visual Studio en Windows paa las aplicaciones .NET Core. Para Xamarin, Visual Studio aprovecha el
depurador Mono Soft, un depurador específico para Mono. Su característica principal es que es un
depurador integrado integrado en el marco de Mono, que es diferente de la mayoría de los depuradores.
El objetivo de este apartado no es explicar lo que sucede con los depuradores, se trata de explicar las
herramientas que el IDE proporciona para depurar aplicaciones independientemente del depurador de
respaldo. Obviamente, Android e iOS son dos sistemas diferentes y, por lo tanto, el Depurador Mono Soft
enviará diferentes tipos de mensajes dependiendo de la plataforma actual. El mismo concepto se aplica a
Microsoft .NET Core Debugger, cuyo comportamiento es totalmente diferente al de Mono Soft, y que
mostrará sus propios mensajes y tendrá sus propias características.
Como ejemplo para ver las opciones de depuración vamos a utilizar un proyecto de .NET Core de consola
en el que incluimos el código simple:
FIGURA 11. EJEMPLO SIMPLE DE CONSOLA .NET CORE
Que lee de un fichero línea a línea y lo muestra por la consola. El objetivo es al almacenar un mensaje
dentro de una variable en lugar de pasarlo directamente como un argumento para Console.WriteLine y no
incluir un bloque “try..catch” para manejar las excepciones de E/S es un error intencionado para mostrar
cómo aprovechar algunas de las herramientas de depuración en el IDE.
El panel de salida de la aplicación es de vital importancia cuando se realiza la depuración, ya que muestra
toda la información que envía el depurador, y esto es de particular importancia en caso de problemas de
tiempo de ejecución y excepciones generados por su aplicación, o errores que el sistema pueda encontrar
al ejecutar la aplicación:
FIGURA 12. PANEL DE SALIDA DE LA APLICACIÓN
Los puntos de interrupción se pueden configurar para que pueda decidir cuándo y cómo deben
condicionar la ejecución de la aplicación. Si se hace clic con el botón derecho en el glifo rojo de un punto
de interrupción y luego selecciona Editar punto de interrupción, accederá al cuadro de diálogo Editar
punto de interrupción. Aquí se pueden especificar las condiciones y las acciones. Las condiciones
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 14
|Equipo Docente de .NET y Visual Studio
determinan cuándo el depurador debe interrumpir la ejecución de la aplicación cuando se encuentra un
punto de interrupción, mientras que las acciones permiten que se realicen tareas especiales cuando se
alcanza el punto de interrupción. En el ejemplo anterior podemos introducir el punto de ruptura sobre la
operación de abrir el fichero para encontrar el error al intentar acceder a un fichero “fichero.txt” que no
existe:
FIGURA 13. DEPURACIÓN CON PUNTO DE RUPTURA
Si en este punto continuamos con la ejecución se mostrará el error de “FileNotFoundException”:
FIGURA 14. EXCEPCIÓN EN DEPURACIÓN
Visual Studio para Mac admite los tipos de proyecto .NET Core resumidos en la siguiente tabla, todos
disponibles a través del cuadro de diálogo Nuevo proyecto:
Tipo de proyecto Descripción
Consola Genera una solución que contiene un proyecto
de C # para una aplicación de consola
independiente y vacía.
ASP.NET Core vacío Genera una solución que contiene un proyecto
web ASP.NET Core vacío.
ASP.NET Core Web API Genera una solución que contiene un proyecto
Core de ASP.NET que establece un servicio
RESTful basado en el marco de la API web.
ASP.NET Core Web App Genera una solución que contiene un proyecto
Core de ASP.NET que estructura una aplicación
web basada en páginas de Razor.
ASP.NET Core Web App‐MVC Genera una solución que contiene un proyecto
Core de ASP.NET que estructura una aplicación
web basada en el marco MVC, con vistas y
controladores.
Como en la versión para Windows, Visual Studio para Mac le proporciona un control sobre las opciones y
propiedades del proyecto. Se puede acceder a las opciones del proyecto con Proyecto, Opciones de
ProjectName (donde ProjectName significa el nombre de su proyecto) o haciendo clic con el botón
derecho en el nombre del proyecto en el panel de soluciones y seleccionando Opciones. La ventana
Opciones de proyecto son:
FIGURA 15. CONFIGURACIÓN DEL PROYECTO
En el nodo General, se encuentra la Configuración principal, que es la misma para todos los tipos de
proyectos admitidos en VS para Mac. Aquí se puede especificar un nombre de proyecto diferente, un
número de versión específico, una descripción opcional y el espacio de nombres de C# raíz, y se puede
cambiar el directorio raíz donde se almacenan los archivos del proyecto. De forma predeterminada, la
versión del proyecto se hereda de la versión de la solución, pero puede desmarcar la casilla de verificación
“Obtener versión de la solución principal” y proporcionar una nueva versión. Las otras configuraciones se
generan en función de la información que se proporciona cuando se crea el proyecto y, a menos que se
tengan requisitos específicos, se recomienda que no se cambien.
En el grupo de compilación se puede cambiar el destino de compilación (ejecutable, biblioteca, ejecutable
con GUI o módulo), la clase de inicio principal de C#, el archivo de iconos y la página de códigos de
codificación para archivos de origen. Además, puede especificar la versión de C# que el compilador debe
usar. En la pestaña “Comandos personalizados” se permite especificar cualquier acción que deba
ejecutarse antes, durante o después de un proceso de compilación o limpieza. Las acciones son por
configuración, por lo que puede especificar diferentes acciones para diferentes configuraciones y, de
forma predeterminada, el cuadro desplegable Configuración muestra la configuración de construcción
activa, pero se puede elegir una diferente y proporcionar cualquier acción. Las acciones admitidas son
Antes de compilar, Compilación, Después de compilar, Antes de limpiar, Limpiar, Después de limpiar y
Comando personalizado. También se puede especificar la acción que debe ejecutarse proporcionando un
nombre de aplicación en el cuadro de texto Comando. Los comandos pueden necesitar recibir parámetros,
por ejemplo, la solución o el nombre del proyecto. Debido a que VS para Mac identifica dichos parámetros
con constantes especiales, puede seleccionar la constante adecuada haciendo clic en el botón con el icono
de flecha y seleccionando uno de los valores que se explican por sí mismos en el menú desplegable. Lo
mismo se aplica a la casilla de verificación Directorio de trabajo, donde puede especificar el directorio en
el que se debe ejecutar el comando. La pestaña “Configuraciones” le permite administrar las
configuraciones de compilación. Por defecto, muestra las configuraciones de debug y release. Puede
agregar, duplicar, eliminar y cambiar el nombre de las configuraciones con los botones Agregar, Copiar,
Eliminar y Cambiar nombre, respectivamente. La pestaña “Compilador” permite influir en el proceso de
compilación según la configuración activa:
FIGURA 16. CONFIGURACIÓN DE COMPILACIÓN
Una vez que la aplicación se esté ejecutando, se pueden usar todas las herramientas de depuración que se
analizan en el capítulo anterior. La depuración de aplicaciones .NET Core se basa en el .NET Debugger, un
depurador de código abierto y multiplataforma que Visual Studio para Mac adjunta al ejecutable de la
aplicación .NET. Sin embargo, en el caso de ASP.NET Core, esto no es suficiente. De hecho, una aplicación
web debe estar alojada en un servidor web para poder iniciarse. Si se conoce el desarrollo de aplicaciones
ASP.NET con .NET en Windows se utilizaba el Internet Information Services (IIS) o el Internet Information
Services Express como opciones disponibles para hospedar la aplicación. Estos solo están disponibles en
Windows, por lo que .NET Core incluye un servidor web de desarrollo de código abierto especial llamado
Kestrel. El comportamiento de Kestrel es muy similar al de IIS Express, con la importante diferencia de que
se ejecuta en todas las plataformas: macOS, Linux y Windows. Con Kestrel, se puede ejecutar, depurar y
probar la aplicación como si estuviera en un servidor web real. Como es de esperar de un servidor de
desarrollo, la URL de la aplicación siempre es local: “http://localhost” seguido del número de puerto.
Puede simplemente hacer clic en la barra de direcciones para ver el número de puerto actual.
FIGURA 17. EJECUCIÓN ASP.NET CORE
4. APLICACIONES XAMARIN
Visual Studio para Mac incluye una gran cantidad de plantillas de proyectos para el desarrollo de Xamarin
que están disponibles en el cuadro de diálogo “Nuevo proyecto”, en el grupo de “Multiplataforma”:
FIGURA 18. PLANTILLAS MULTIPLATAFORMA
En la categoría Multiplataforma, se ofrecen plantillas de proyectos que tienen como objetivo maximizar la
reutilización del código. En esta categoría, se encuentran plantillas que permiten compartir código por
plataforma, como Xamarin.Forms, o por tipo de proyecto, como Proyectos compartidos y bibliotecas
estándar de .NET.
La categoría Multiplataforma se divide en tres subcategorías: Aplicación, Bibliotecas y Pruebas. Los
nombres de las subcategorías se explican por sí solos: la aplicación contiene plantillas de proyectos que
permiten crear una aplicación, las bibliotecas contienen plantillas de proyectos que permiten producir
bibliotecas reutilizables y Tests contiene plantillas de proyectos que permiten crear proyectos para la
automatización de pruebas de interfaz de usuario. Las mismas subcategorías existen en las categorías de
plantillas de iOS y de Android. La descripción de las plantillas de proyecto son las siguientes:
de muestra para simular una aplicación de lista de tareas,
incluidas las operaciones y la autenticación CRUD.
Xamarin.Forms Formulario en Crea una solución que contiene un proyecto Xamarin.Forms en
blanco blanco.
Nativa (iOS, Nativas Genera una solución que contiene un proyecto Xamarin.iOS o
Android) un proyecto Xamarin.Android y un proyecto para compartir
código entre los dos proyectos Xamarin. Esto puede ser un
proyecto compartido o una biblioteca estándar .NET. Los
proyectos de Xamarin incluyen una base de API web ASP.NET
basada en .NET Core y datos de muestra y vistas para simular
una aplicación de lista de tareas, incluidas las operaciones y la
autenticación de CRUD. El proyecto de back‐end está
optimizado para su distribución a Microsoft Azure.
Nativa (iOS, Nativas Genera una solución que contiene proyectos Xamarin.iOS y
Android) Xamarin.Android en blanco, además de un proyecto para
compartir código entre los dos, que puede ser un proyecto
compartido o una biblioteca estándar de .NET.
Juegos (iOS, Mac) Sprike Genera una solución que contiene un proyecto Xamarin.iOS
que permite crear juegos 2D basados en el marco SpriteKit de
Apple.
Juegos (iOS, Mac) SceneKit Genera una solución que contiene un proyecto Xamarin.iOS
que permite crear juegos 3D basados en el marco de SceneKit
de Apple.
Xamarin.Forms permite crear proyectos dirigidos a múltiples plataformas, como iOS y Android, desde una
única base de código C# compartida. Xamarin.Forms es esencialmente una biblioteca que envuelve los
controles nativos en objetos que puede usar para codificar una vez, y luego el tiempo de ejecución genera
aplicaciones nativas que traducen estos objetos en los elementos visuales específicos de la plataforma
apropiada. Para realizar una “Nueva solución”, elegimos en el cuadro de diálogo Nuevo proyecto, y
“Aplicación de formularios en blanco”, pasando a la. segunda pantalla en la que especificamos un nombre
para su proyecto en el cuadro de texto Nombre de la aplicación:
FIGURA 19. PROYECTO EN BLANCO DE XAMARIN
El “id de la organización” se utiliza para identificar a la aplicación en las tiendas de distribución. Las otras
dos opciones dejan elegir la o las plataformas destino (Android/iOS) y la estrategia de código compartido:
o .NET Standard o la biblioteca compartida. En la siguiente pantalla, se incluye la opción de utilizar un
nombre de proyecto distinto al de la solución, así como incorporarlo al control de código basado en Git.
La solución contiene tres proyectos: el primer proyecto es una biblioteca estándar .NET que contiene todo
el código que se puede compartir entre plataformas, como los elementos visuales que existen tanto en iOS
como en Android (etiquetas, cuadros de texto, botones, etc.) . Los otros dos proyectos son proyectos
nativos de Xamarin.Android y Xamarin.iOS, que contendrán cualquier código específico de la plataforma
que necesita escribir para acceder a las API que Xamarin.Forms no puede compartir entre las plataformas.
En Xamarin.Forms y, más generalmente, con el desarrollo de aplicaciones móviles, la interfaz de usuario se
presenta con páginas. Al crear una solución Xamarin.Forms, también se proporciona una página raíz de
tipo ContentPage en un archivo llamado MainPage.xaml. Toda la interfaz de usuario en Xamarin.Forms se
define mediante el lenguaje XAML (lenguaje de marcado de aplicaciones extensible), que asigna
elementos visuales a los nodos XML y sus propiedades a los atributos XML. Para cada página, definida en
archivos .xaml, también hay un archivo de código subyacente en C#, donde se escribe el código que
implementa la lógica y las acciones para la interfaz de usuario. En el caso de MainPage.xaml, el archivo de
código subyacente se llama MainPage.xaml.cs y se puede abrir al expandir el elemento MainPage.xaml en
el panel de soluciones:
FIGURA 20. MAINPAGE. PUNTO DE ENTRADA A LA APP
La depuración y las pruebas de proyectos Xamarin es idéntica en Visual Studio para Mac a la que se realiza
en la versión de Windows. En la barra de herramientas estándar, se puede seleccionar la plataforma a la
que desea dirigirse seleccionando el Proyecto de Android o iOS como el proyecto de inicio, luego puede
elegir uno de la lista de dispositivos disponibles, que incluye emuladores y dispositivos físicos (si está
conectado al equipo Mac). Una vez que se haya seleccionado la plataforma y el dispositivo de destino, se
puede iniciar en la barra de herramientas estándar para iniciar la depuración.