[Material SVQXDG] Xamarin 4 Party

Xamarin4El evento

El pasado 26 de Enero, desde el grupo SVQXDG, desarrolladores Xamarin de Sevilla, organizábamos la Xamarin 4 Party.
Un evento donde tener hueco a sesiones técnicas sobre las últimas
novedades introducidas en Xamarin 4 además de tener momento para la
diversión con concurso y entrega de premios, networking y.. tarta!

Comenzamos con una breve introducción al grupo, agenda y detalles para continuar abordando, de la mano de un servidor, un repaso completo a novedades en Xamarin 4:

Novedades en Xamarin 4
Novedades en Xamarin 4

Continuamos junto a Josué Yeray centrándonos en las novedades de Xamarin.Forms 2.0:

Xamarin.Forms 2.0
Xamarin.Forms 2.0

Para cerrar las sesiones técnicas, Marcos Cobeña continuo hablando de calidad de aplicaciones móviles con Xamarin UITest, Test Recorder y Test Cloud:

Testing
Testing

Hicimos un concurso basado en preguntas para decidir el sorteo de una subscripción anual Business de iOS y Android además de libros de desarrollo Xamarin.Forms de Charles Petzold junto a por supuesto los ansiados monitos, pegatinas, bolígrafos, etc.

Se les ve entregados, ¿verdad?
Se les ve entregados, ¿verdad?

Terminamos el evento de forma relajada, haciendo networking y compartiendo esta magnífica tarta:

Que rica!
Que rica!

El material

En mi
caso, además de la introducción y el divertido concurso, pude participar
en el evento con una introducción a novedades en Xamarin 4 donde vimos:

  • Mejoras en la integración con el IDE.
  • Nuevas herramientas.
  • Novedades en Xamarin Forms 2.0.
  • Novedades en Xamarin Test Cloud.
  • Novedades en Xamarin Insights.

La presentación utilizada:

En cuanto a las demos técnicas realizadas, las tenéis disponible en GitHub:

Ver GitHub

Quisiera terminar añadiendo algunos agradecimientos a DevsDna por patrocinar el evento; a Plain Concepts por facilitarme siempre la participación (y a mi compañero Marcos Cobeña); por supuesto a Xamarin por todo su apoyo y material que nos han facilitado; gracias a Josué Yeray y Marcos Cobeña por participar y por sus sesiones y por supuesto, muchas gracias a todos los asistentes. Sin duda, fue muy divertido y momentos como concurso y tarta dieron momentos especiales.

Más información

[Xamarin.Forms] Utilizando Xamarin Forms Player, acelerando el desarrollo

Introducción

Xamarin.Forms es un framework que permite crear
aplicaciones nativas para Android, iOS y Windows compartiendo además de
la lógica en C#, las vistas en XAML. Un enfoque muy
interesante que suele tener una atracción enorme debido a sus
posibilidades en cuanto a la cantidad de código compartido. A mayor
cantidad de código compartido, menor cantidad de código a hacer por
plataforma, menos costes.

Hay desarrolladores XAML experimentados en otros entornos Microsoft
como WPF, Silverlight, Windows Phone o WinRT que de forma programática
pueden desarrollar interfaces de usuario de forma fluida sin necesidad
de gran feedback visual. Sin embargo, muchos usuarios echan de menos ese
feedback visual aportado por un editor visual. A día de hoy, Xamarin.Forms no cuenta con editor visual.

NOTA: En varias ocasiones Xamarin ha reconocido la

Xamarin Forms Player

Una alternativa para lograr el feedback visual viene dado por Xamarin Forms Player creado por Daniel Cazzulino.
Consiste en instalar una extensión para Visual Studio (o Xamarin
Studio) que nos permitirá conectar con un dispositivo en el que mostrar
una previsualización de como queda nuestra vista XAML. De esta forma,
cada vez que realicemos un cambio en nuestra vista XAML podremos
enviarla al dispositivo y ver los cambios.

Configurando el entorno

Necesitaremos:

  • Extensión para Visual Studio o Xamarin Studio
  • App instalada en emulador o dispositivo

Xamarin Studio

Para instalar el plugin en Xamarin Studio vamos al gestor de complementos. Una vez abierto, en la pestaña de Gallery buscamos “Forms Player”.

Instalando Forms Player

Instalando Forms Player

Instalamos y todo listo.

Visual Studio

En Visual Studio abrimos el apartado de Extensiones y actualizaciones, buscamos por “Forms Player”:

Extensión Forms Player

Extensión Forms Player

Instalamos la extensión Xamarin Forms Player.

Dispositivos

Desde el GitHub de Mobile Essentials podremos
descargar el código fuente de Xamarin Forms Player. Una vez descargado
bastará con compilar y desplegar la App en cualquier dispositivo o
emulador.

NOTA: También podemos acceder al apartado de Releases del repositorio para descargar directamente los últimos paquetes compilados.

En el caso de emuladores, bastará con arrastrar el paquete al emulador para realizar la instalación.

Forms Player en GenyMotion

Forms Player en GenyMotion

Utilizando Forms Player

Todo preparado. Creamos un nuevo proyecto Xamarin.Forms utilizando una PCL:

Nuevo proyecto

Nuevo proyecto

Una vez creado el proyecto añadiremos el paquete de “Forms Player” en los proyectos específicos de plataforma.

Paquete NuGet

Paquete NuGet

A continuación, modificamos la carga de la aplicación en cada proyecto específico de plataforma para reemplazar new App() por new Xamarin.Forms.Player.App().

Al depurar la App debemos sincronizar la sesión utilizada
introduciendo en el dispositivo el identificador que nos facilitar Forms
Player.

Llegados  a este punto lo tenemos todo preparado. Llega el momento de
utizarlo. Abrimos una página XAML, editamos y publicamos los cambios.

Utilizando Xamarin Forms Player

Utilizando Xamarin Forms Player

Voila!. Cada vez que necesitemos ver cambios bastará con pulsar sobre la opción “Publish” de Forms Player.

Más información

[Evento SVQXDG] Xamarin 4 Party!

Xamarin4El evento

Ante el lanzamiento de Xamarin 4
con grandes novedades como Xamarin.Forms 2.0, nuevas herramientas en
Preview, novedades en Xamarin Test Cloud, Xamarin Insights, Build Host o
editores visuales, desde SVQXDG, grupo de desarrolladores Xamarin de Sevilla, montamos no un evento, sino toda una fiesta para celebrar el lanzamiento.

Tendremos
una divertida tarde con por supuesto sesiones técnicas, pero además,
regalos, networking, concurso y otras grandes sorpresas.

La agenda

Contaremos con la siguiente agenda:

  • 17:00h – 17:05h: Bienvenida!
  • 17:05h – 17:50h: Novedades en Xamarin 4 por Javier Suárez
  • 17:55h – 18:40h: Xamarin Forms 2.0 por Josué Yeray
  • 18:45h – 19:20h:  Xamarin Test Recorder y Xamarin Test Cloud por Marcos Cobeña
  • 19:25h – 19:35h: El Gorilla Preguntón (Sorteo de regalos)
  • 19:35h – 20:00h: Networking

¿Te parecen pocos motivos?

Si
te parecen pocos, todos los asistentes tendran grandes regalos como
horas gratuitas de Xamarin Test Cloud, pegatinas o monitos.  Y por si
fuese poco, sortearemos una subscripción Business anual de Xamarin iOS y Android!

El lugar

El evento se celebrará en el WorkINCompany. Dirección detallada:

Calle Rioja 13, 2ºA
41001 – Sevilla
+34 954 21 26 24

WorkINCompany
WorkINCompany

La fecha

El evento tendrá lugar el próximo Martes, 26 de Enero de 17:00h a 20:00h. Tendremos tres sesiones de 45 minutos de duración cada una.

¿Te apuntas?

Más información

Meetup: Xamarin 4! Todo lo que necesitas para crear apps móviles multiplataforma

[Xamarin.Forms] Soporte a UWP

Universal Windows Platform

Windows 10 ha llegado como la culminación en el viaje hacia la convergencia en el desarrollo entre plataformas Windows. Ahora hablamos de Apps Universales
escritas una única vez con un código común tanto para la lógica de
negocio como para la interfaz de usuario. Además, generamos un único
paquete que mantendrá una interfaz consistente y familiar para el
usuario pero adaptada a cada plataforma.

Windows 10

Windows 10

Podemos crear apps que funcionen en todo tipo de
dispositivos como teléfonos, tabletas, portátiles, dispositivos IoT,
Surface Hub e incluso HoloLens. Para ello tenemos las vías utilizadas
hasta este momento, es decir, u
tilizando C# y XAML (o VB, C++, etc).

Xamarin.Forms 2.0

Con la llegada de Xamarin 4 han aterrizado una gran
cantidad de diversas novedades entre las que destaca la versión 2.0 de
Xamarin Forms. Entre las novedades principales contamos con:

  • Soporte a UWP.
  • Compilación de XAML (XAMLC).
  • Optimización en Layouts.
  • Optimización de listados. Incluidas nuevas estrategias de cacheo.
  • Corrección de bugs.

Añadiendo UWP a App Xamarin.Forms

Vamos a crear un proyecto Xamarin.Forms y le añadiremos soporte a UWP. Necesitaremos:

  • Visual Studio 2015
  • Windows 10
  • Xamarin.Forms 2.0

Creamos un nuevo proyecto Xamarin.Forms:

Nueva App Xamarin.Forms

Nueva App Xamarin.Forms

Sobre la solución hacemos clic derecho y seleccionamos la opción añadir nuevo proyecto. Dentro de la categoría Universal elegimos la plantilla en blanco.

Nueva Aplicación Universal

Nueva Aplicación Universal

Tras añadir el nuevo proyecto, continuaremos añadiéndolo el paquete NuGet de Xamarin.Forms 2.0 necesario.

Añadimos la referencia a la PCL.

Tenemos las referencias a la PCL y a Xamarin.Forms, ahora debemos
realizar pequeñas modificaciones en código para inicializar Xamarin
Forms y la aplicación. En el método OnLaunched de App.xaml.cs utilizaremos el método Init para inicializar Xamarin.Forms:

Xamarin.Forms.Forms.Init (e);

En las vista principal, MainPage.xaml modificamos el tipo de la página de Page a WindowsPage utilizando el namespace Xamarin.Forms.Platform.UWP.

xmlns:forms="using:Xamarin.Forms.Platform.UWP"

Por último, añadimos una llamada al método LoadApplication en el contructor de la vista principal, MainPage.xaml.cs para inicializar la aplicación.

LoadApplication(new UWP.App());

Tenéis el código fuente disponible e GitHub:

Ver GitHub

Recordad que podéis dejar cualquier comentario, sugerencia o duda en los comentarios.

Limitaciones

El soporte es bastante elevado pero no es aún completo. Existen una serie de limitaciones conocidas:

  • El aspecto de algunas páginas o elementos no esta cerrado.
  • Existe algún posible error en navegación.
  • No hay soporte aún a mapas.

Más información

[Xamarin] Desgranando las posibilidades de Xamarin Inspector

Introducción

En el desarrollo de aplicaciones móviles es habitual al desarrollar
la interfaz de usuario y otros detalles, realizar pequeños ajustes y
desplegar la App para ver el resultado. De igual forma, en ocasiones
tenemos problemas con la interfaz con elementos que no se ven o que
aparecen donde no esperábamos, etc.

¿Os ha pasado?

Probablemente la respuesta sea afirmativa. En todos estos casos, ¿podríamos contar con una opción más óptima?

Xamarin Inspector

Xamarin ha lanzado una nueva herramienta para aplicaciones iOS, Android, Mac y WPF llamada Xamarin Inspector que nos permite acelerar el desarrollo permitiendo:

  • Ver el árbol visual de elementos de la interfaz. En OSX además se
    puede ver una visualización 3D con capas con los diferentes elementos
    visuales que componen la interfaz.
  • Poder seleccionar elementos y modificar propiedades.
  • Poder ejecutar evaluaciones de expresiones C# con REPL (Read-Eval-Print Loop).
Xamarin Inspector

Xamarin Inspector

La herramienta consiste en un add-in para Xamarin Studio y una extensión para Visual Studio.

Instalación

Podemos instalar la herramienta tanto en Windows como en OSX de forma sencilla.

Instalando Xamarin Inspector

Instalando Xamarin Inspector

NOTA: Xamarin Inspector se encuentra en Preview.
Para poder lanzarlo y utilizarlo debemos tener actualizado Xamarin a
sus versiones más recientes del canal Alpha. Para ello, ya sea en
Xamarin Studio o Visual Studio debemos modificar la configuración de
verificación de actualizaciones al canal Alpha.

Lanzando Xamarin Inspector

Tomamos cualquier aplicación iOS, Android, Mac, o WPF en Xamarin
Studio o Visual Studio, ejecutamos en modo Debug y veremos un botón como
el siguiente:

Botón de Xamarin Inspector

Botón de Xamarin Inspector

Una vez pulsado se nos abrirá una nueva ventana cmo la siguiente:

Vista 3D

Vista 3D

¿Qué podemos hacer?

Gracias a Xamarin Inspector tenemos acceso a un REPL (Read-Eval-Print Loop) en C#. Podemos realizar desde operaciones sencillas y básicas como cálculos matemáticos, colores, etc:

Operaciones simples

Operaciones simples

A definición de variables, peticiones web, acceso a servicios, todo lo que sea necesario dentro de nuestra propia App:

Operaciones más complejas

Operaciones más complejas

Además de escribir y evaluar código al vuelo, Xamarin Inspector nos permite acceder a la interfaz de usuario de nuestra App:

Consultas de la App

Consultas de la App

Podemos ver el árbol visual de elementos, una composición en 3D de
los mismos (sólo disponible en OSX) y las propiedades de cada uno de los
elementos. Una vez seleccionado un elemento visual podremos acceder al mismo para ver los valores de sus propiedades así como realizar modificaciones. Todo ello al vuelo!.

NOTA: Utilizada la App CoffeeTipper de James Montemagno para mostrar Inspector.

Más información

[Tips and Tricks] Compilando XAML en Xamarin.Forms

Introducción

Data binding es un mecanismo mediante el cual
podemos enlazar los elementos de la interfaz de usuario con los objetos
que contienen la información a mostrar. Cuando realizamos data binding,
creamos una dependencia entre el valor de una propiedad llamada target con el valor de otra propiedad llamada source. Donde normalmente, la propiedad target recibirá el valor de la propiedad source.

En Xamarin.Forms es el mecanismo base que nos permite utilizar el
patrón MVVM. Sin embargo, el mecanismo no es perfecto, cuenta con
limitaciones, los errores de Binding no se producían en tiempo de
compilación de la App además de tener diferentes mejoras relacionadas
con el rendimiento.

Con la llegada de Xamarin.Forms 2.0 tenemos la posibilidad de compilar XAML.

XAMLC

Podemos compilar el XAML en lugar de ser interpretado (XAMLC). Las ventajas son múltiples:

  • Podemos detectar errores en marcado en tiempo de compilación.
  • Los tiempos de inicialización y carga se reducen.
  • Se reduce tamaño del ensamblado.

El compilado de XAML es una opción que por defecto viene deshabilitada con el objetivo de mantener con facilidad compatibilidad hacia atrás.

NOTA: En estos momentos XAMLC no es compatible con la plataforma Windows.

Podemos indicar que deseamos compilar una vista utilizando el atributo XamlCompilation a nivel de clase.

[XamlCompilation (XamlCompilationOptions.Compile)]

Le indicamos el valor XamlCompilationOptions.Compile. Si lo que queremos es compilar todas las vistas de una App, utilizaremos el prefijo assembly para el atributo XamlCompilation.

[assembly: XamlCompilation (XamlCompilationOptions.Compile)]

Todas las vistas incluidas en el namespace utilizado con el atributo quedarán afectadas.

Sencillo, ¿cierto?

Podéis acceder al código fuente directamente en GitHub:

Ver GitHub

Más información