Xamarin MVP!

xamarinmvpXamarin MVP

Xamarin, al igual que Microsoft cuenta con su propio programa MVP (Most Valuable Professional) que premia a miembros de la comunidad “who have demonstrated an exemplary commitment to helping others get the most out of their experience with Xamarin by sharing their passion, real-world knowledge, and technical expertise with developers all over the world.”

Estoy realmente contento de poder compartir con todos que he sido nominado como Xamarin MVP. Para mi es un gran honor entrar en este grupo donde tengo a tantos amigos y compañeros que son auténticos referentes en comunidades y proyectos Open Source.

Ahora, a continuar aprendiendo, compartiendo y ayudando todo lo posible en blogs, comunidades técnicas y otras vías con más ganas y más ilusión.

¿Me acompañas?

Felicidades a otros miembros de la comunidad

También me gustaría felicitar al resto de compañeros de comunidad que también han sido nominados como Xamarin MVPs. Enhorabuena!

Material ReConnect(); 2016 Valencia y Sevilla

re-connectLos eventos

Tras un exitoso Microsoft Connect(); 2016, en New York, donde se presentaron importantes novedades relacionadas con la plataforma Cloud, novedades en .NET, Visual Studio para MacOS o novedades en Xamarin, ¿algo mejor que recopilar todas las novedades y montar un Tour por varias ciudades?.

Los pasados 18 y 19 de Enero pude estar en Valencia y Sevilla respectivamente junto a mi compañero Eduard Tomás para hacer un repaso completo a todas las novedades principales presentadas.

El material

Desde que Microsoft hizo pública la compra de Xamarin el pasado febrero, todos estábamos esperando ansiosamente el gran evento de Microsoft, para saber cual va a ser la dirección del desarrollo multiplataforma liderado por Miguel de Icaza. La verdad que en Connect(); 2016 no nos ha dejado indiferentes y se han anunciado muchas novedades que nos afectaran directa o indirectamente en nuestros día a día. Pude participar en el ReConnect(); con una charla en la que hicimos un pequeño resumen de las noticias más destacadas enfocadas al mundo .NET y Xamarin y hablamos de las novedades en IDEs (Visual Studio para MacOS), las nuevas herramientas, DevOps con Visual Studio Mobile Center o la llegada de Tizen.NET.

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

Ver GitHub

Más información

[Tips and Tricks] Error «class file has wrong version 52.0, should be 50.0» en Visual Studio Team Services

androidEl problema

Lleno de ilusión, descargas e instalas Xamarin y te dispones a crear tu primera aplicación móvil multiplataforma nativa con C#. Seleccionas el proyecto Android como proyecto de arranque, un simulador y compilas.

Unsupported major.minor version 52.0
Unsupported major.minor version 52.0

¿Qué ocurre?

Probablemente has instalado múltiples SDKs de Android utilizando Android SDK Manager. Xamarin Android intenta utilizar las últimas “Android Build-Tools” aún no compatibles.

Para solucionar el problema tenemos dos caminos posibles.

El primero de ellos se basa en actualizar Java JDK y asegurar su uso. La versión 52.0 referenciada en el error se refiere al JDK, en concreto a la versión 8. Xamarin Android 7.0 requiere el JDK 1.8 para usar las APIs de Android Nougat (API Level 24). Es necesaria además una versión de 64 bits para poder usar controles personales en el editor Android entre otras acciones.

El segundo camino se basa en utilizar Android 6.0 o lo que es lo mismo el API Level 23.

Puedes encontrar más información en este artículo anterior.

El mismo problema en Visual Studio Team Services

Utilizando Visual Studio Team Services para realizar la compilación de un proyecto Xamarin.Android utilizando un servidor Hosted y en el log del proceso de compilación:

C:\Program Files (x86)\Java\jdk1.6.0_45\\bin\javac.exe -J-Dfile.encoding=UTF8 -d obj\Release\android\bin\classes -classpath .... obj\Release\android\src\android\support\design\R.java:10: cannot access java.lang.Object bad class file: java\lang\Object.class(java\lang:Object.class) class file has wrong version 52.0, should be 50.0 Please remove or make sure it appears in the correct subdirectory of the classpath.

Conociendo el problema tenemos dos opciones. Modificar el proyecto para utilizar Android 6.0 o actualizar Java JDK. Al ser un servidor de tipo Hosted no podemos acceder al servidor remotamente y actualizar.

¿Qué podemos hacer?

En las opciones relacionados con el JDK del proceso de Build en VSTS podemos elegir la versión JDK a utilizar.

JDK 8
JDK 8

Tras lanzar de nuevo una build, el problema queda resuelto!

Más información

[Xamarin.Android] Configurar emulador Android x86 con intel HAXM

AndroidIntroducción

A la hora de desarrollar aplicaciones destinadas a aplicaciones móviles, existen múltiples herramientas que ayudan y facilitan el desarrollo. Hablamos de herramientas para analizar la UI, analíticas de rendimiento o crear los iconos en los diferentes tamaños necesarios. Sin embargo, entre todas ellas, brillan con especial importancia los emuladores.

Los emuladores de dispositivos físicos permiten realizar pruebas y simulaciones en la aplicación de forma rápida y sencilla. En el caso de Android, contamos con diferentes opciones. En este artículo vamos a aprender a crear emuladores de alto rendimiento basados en x86 utilizando HAXM.

NOTA: Recuerda, siempre, repetimos, siempre es necesario hacer pruebas de aplicaciones móviles en dispositivos físicos. No se pueden simular todas las condiciones, el rendimiento es diferente, etc.

Intel HAXM

Intel Hardware Accelerated Execution Manager (HAXM) es un motor de virtualización asistido por hardware (utilizando el hipervisor) para acelerar la emulación de aplicaciones para Android.

Requisitos

Hardware:

  • Procesador intel con Intel VT-x, Intel EM64T (Intel 64).
  • Al menos 4GB de RAM, recomendados 8GB RAM.

Software:

  • Microsoft Windows* 10 (32/64-bit).
  • Microsoft Windows* 8 and 8.1 (32/64-bit).
  • Microsoft Windows* 7 (32/64-bit).

Instalar Intel HAXM

Para instalar Intel HAXM tenemos dos vías:

  • Utilizar Android SDK Manager.
  • Instalar de forma independiente.

Accedemos a la página de descarga de Intel HAXM.

Descargar Intel HAXM
Descargar Intel HAXM

Tras descargar el archivo zip necesario, se debe descomprimir.

Instalar HAXM
Instalar HAXM

Antes de realizar la instalación se puede revisar si es posible utilizar HAXM.

¿Qué quiere decir esto?

Intel HAXM es un software de virtualización apoyándose sobre el hipervisor. Se requiere contar con tecnología VT-x. Además, no podemos contar con Hyper-V en ejecución.

Hyper-V Off
Hyper-V Off

La instalación de Intel HAXM se basa en un asistente bastante sencillo.

Instalación
Instalación

Tras completar la instalación es posible validar que todo es correcto ejecutando unas sencillas líneas de comandos.

Validar HAXM
Validar HAXM

Instalar imágenes emuladores x86

Se debe acceder al Android SDK Manager y buscar las imágenes Intel x86 correspondiente a los niveles de API que queremos utilizar.

Descarga de imágenes de emuladores
Descarga de imágenes de emuladores

Crear nuevo emulador x86 HAXM

Accedemos a Android Emulator Manager. Desde Visual Studio se encuentra en Herramientas > Android > Android Emulator Manager.

Android Emulator Manager
Android Emulator Manager

Para crear un nuevo emulador basado en Intel HAXM se dbe pulsar el botón Create.

Nuevo emulador
Nuevo emulador

La clave radica en el uso de una imagen Intel x86 en el campo CPU/ABI. En base a las características de la máquina de desarrollo se pueden realizar ajustes en el uso de memoria y almacenamiento del emulador.

Llegados a este punto, podemos lanzar el emulador y utilizarlo para depurar nuestras aplicaciones Xamarin.

Todo listo!
Todo listo!

Más información

Curso gratuito de desarrollo de aplicaciones nativas multiplataforma con Xamarin

XamarinIntroducción

No hay duda, los smartphones y tabletas han llegado, y ya forman parte de la vida de todos nosotros.

Esto también nos afecta como desarrolladores. El desarrollo móvil se ha convertido en una prioridad en una gran mayoria de ámbitos.

Actualmente contamos con varias plataformas dominantes:

  • iOS
  • Android
  • Windows

El mercado móvil actual

En lo que respecta a nivel de desarrollo nos supone barreras. Contamos con múltiples plataformas de desarrollo diferentes, lenguajes diferentes, etc. suponiendo un nivel de aprendizaje y esfuerzo cada vez mayor de cara a desarrolladores. Además, la experiencia nos ha demostrado que los usuarios no aceptan aplicaciones no nativas. Buscan aplicaciones rápidas, fluidas y con consumos moderados perfectamente adaptadas a la plataforma, ofreciendo una experiencia completa.

¿Qué podemos hacer para mejorar este panorama?

Xamarin

Aquí es donde entran en juego las tecnologías de desarrollo multiplataforma. En estos últimos años han aparecido diversas tecnologías que permiten aprovechar una base de código en multiples plataformas. Entre diversas opciones brilla con especial fuerza, por diferentes motivos (evolución, comunidad, apoyo de Microsoft) Xamarin.

Xamarin es una plataforma de desarrollo gratuita de Microsoft que permite crear nuestras aplicaciones móviles una sola vez y que funcionen en Android, iOS y Windows entre otros sistemas (Windows 10, Mac, wearables…). Todo ello sin tener que duplicar código o aprender nuevas herramientas. Las apps que creamos con Xamarin son aplicaciones nativas, es decir, no tienen diferencias con las que podríamos crear usando las herramientas propias de cada plataforma.

xamarinmonkeysCurso gratuito Xamarin en CampusMVP

Tras realizar un completo curso de Xamarin en CampusMVP donde se aborda tanto Xamarin Classic como Xamarin.Forms, desde conceptos básicos a la publicación pasando por buenas prácticas, MVVM o testing y haber recibido feeback positivo, ¿algo mejor que realizar un gran curso gratuito con la ayuda de Microsoft?. Así nace el curso gratuito  de desarrollo de aplicaciones  Xamarin en CampusMVP.

El curso se compone de cinco módulos diferentes:

  1. Introducción a Xamarin y Azure: en este primer módulo se conocen los conceptos básicos relacionados con Xamarin, se realiza la instalación, se revisa la integración de Xamarin con Visual Studio, un repaso a emuladores y se realiza la primera aplicación Xamarin.Forms.
  2. Interfaz de usuario: se conocen las páginas, layouts y controles de Xamarin.Forms. Tras realizar aplicación básica se introduce la necesidad de buenas prácticas. Conocemos y aplicamos el patrón MVVM para terminar con otros conceptos necesarios como la navegación o el sistema de mensajería.
  3. Creando el backend de la aplicación en Azure: se crea un backend en Azure. Todos los conceptos necesarios para crear el backend se repasan. Conceptos como la creación de una Azure Mobile App, Azure SQL, Easy Tables, etc. Se completa el módulo integrando el backend en una aplicación Xamarin.
  4. Autenticación de usuarios: continuamos progresando en nuevos conceptos, en esta ocasión centrados en añadir autenticación en aplicación Xamarin aprovechando las posibilidades de Azure y utilizando proveedores de autenticación sociales. También hay nuevos conceptos relacionados con Xamarin como el acceso a características específicas de una plataforma con el uso de la cámara y se completa la gestión con el backend previamente creado.
  5. Notificaciones Push: se concluye el curso personalizando la aplicación utilizando estilos e integrando notificaciones Push en una aplicación Xamarin.

El curso comienza en Enero y dura hasta finales de Junio de este mismo año. Durante estos 6 meses se aprenden todos los conceptos creando una aplicación paso a paso desde cero. Al final se consigue tener una aplicación con:

  • Autenticación
  • Listado de elementos obtenidos desde un backend
  • Vista de detalles
  • Posibilidad de añadir nuevos registros incluyendo el uso de la cámara del dispositivo
  • Notificaciones Push

Al final de cada módulo se tiene un divertido reto donde en algunas ocasiones consiste en crear una pequeña aplicación aplicando los conceptos aprendidos y en otras se continuará el desarrollo de una aplicación planteada a lo largo del curso. Además, todos los módulos se componen de un conjunto de documentación, videos y ejemplos prácticos.

¿Te animas?

Muchas gracias a Microsoft y a CampusMVP por hacer posible crear un curso gratuito que ayuda al crecimiento de la comunidad Xamarin.

Más información

[Material dotNetMálaga] Taller Xamarin

logo_dotnetmlg_full_color_2tintas_2El evento

El pasado 10 de Diciembre tenía lugar el dotNetMálaga 2016. Evento destinado a desarrolladores en España con 2 Tracks diferentes, 10 sesiones técnicas, talleres técnicos y todo un día repleto de grandes momentos, tiempo para encontrar a viejos conocidos y conocer a muchos otros nuevos.

El material

He tenido la oportunidad de participar con un taller Xamarin donde realizamos una aplicación Xamarin.Forms paso a paso utilizando MVVM.

En cuanto al código fuente del taller, se encuentra disponible en GitHub:

Ver GitHub

Agradecer a toda la organización del eventos, ponentes y asistentes por hacerlo posible. El año que viene…¿repetimos?

Más información

[Eventos] re-Connect Tour

re-connectEl Tour

Tras un exitoso Microsoft Connect(); 2016, en New York, donde se presentaron importantes novedades relacionadas con la plataforma Cloud, novedades en .NET, Visual Studio para MacOS o novedades en Xamarin, ¿algo mejor que recopilar todas las novedades en un evento?.

Si, haciendo varios y organizarlos en un Tour por varias ciudades!.

Las ciudades y fechas son:

La agenda

  • 9:30 Más productividad que nunca en el desarrollo móvil multiplataforma con Xamarin
    En esta charla veremos las novedades más importantes que llegan de la mano de Xamarin. Para empezar el nuevo Visual Studio for Mac que permite crear aplicaciones iOS y Android con backend net core. Pero esa no es la única novedad: veremos en acción el previsualizador de Xamarin Forms, Xamarin Profiler y el espectacular Xamarin Inspector que lleva el desarrollo móvil a otro nivel. Y finalmente Visual Studio Mobile Center, la evolución de HockeyApp y la integración con toda la suite de movilidad de Microsoft.
  • 10:30 .NET Core & SQL <3 Linux
    Net Core 1.1 ya está aquí, y a pesar de ser una versión “menor” no deja de tener novedades interesantes: la integración con los logs de Azure, mejoras de rendimiento y, por supuesto Entity Framework 1.1, entre otras. En esta charla desgranaremos las novedades de asp.net core 1.1 y mostraremos como EF1.1 permite trabajar con las últimas novedades de SQL Server. Comentaremos el concepto de SQL Server CPSA y como nos impacta eso como desarrolladores. Y por supuesto, veremos SQL Server for Linux en acción.
  • 11:30 Microsoft y el mundo de los contenedores
    En esta charla veremos las novedades incluídas en Visual Studio 2017 para facilitar el uso de Docker. Comentaremos que es Docker, como funciona y como con Visual Studio 2017 podemos crear aplicaciones netcore y empaquetarlas con Docker de forma sencilla, sin perder ni un ápice de productividad. Veremos también como publicar contenedores Docker en un AppService, como usar Azure Container Registry así como un esbozo de Azure Container Services. Y para finalizar comentaremos las novedades de VSTS al respecto de Docker.
  • 12:30 ASP Net Core & Visual Studio en 3 sabores, elige el tuyo
    En esta charla veremos lo sencillo que es desarrollar una aplicación netcore con cualquiera de las 3 ediciones de Visual Studio que disponemos, Visual Stduio, Visual Studio for Mac y Visual Studio Code 1.7 bajo Linux. Para ello crearemos una aplicación sencilla asp.net core que use MongoDb. Veremos todas las facilidades de la suite de Visual Studio para depurar código y para navegar por el código. Finalmente veremos cómo usar Docker desde la suite de Visual Studio para crear un contenedor con nuestra aplicación, y usando las nuevas CLI de Azure veremos cómo publicarlo en un AppService. Finalmente veremos cómo podemos usar DocumentDb en lugar de MongoDb en menos que canta un gallo

¿Te apuntas?

Más información

[dotNetMálaga 2016] Taller Xamarin

logo_dotnetmlg_full_color_2tintas_2dotNetMálaga 2016

El próximo sábado 10 de Diciembre tiene lugar la II edición de la conferencia dotNetMálaga que constará de un día completo con numerosas sesiones y talleres divididos en dos tracks, .NET y Web. También habrá regalos y sorteos para los asistentes.

Taller Xamarin

De 11:15h a 13:30h participaré con un divertido taller de desarrollo de aplicaciones móviles multiplataforma con Xamarin. El objetivo será realizar una aplicación paso a paso. También se realizarán pequeñas sesiones para trasmitir los conceptos básicos necesarios. Al final de taller, contaremos con alguna sorpresa y regalo.

Requisitos:

  • Visual Studio y Xamarin instalado. La versión Community gratuita es perfectamente válida.
  • SDK de desarrollo Windows 10.
  • Es recomendable contar con emuladores instalados.
Taller Xamarin
Taller Xamarin

Anímate a participar!

Más información

[Material] re-Connect(); Madrid 2016

re-connectEl evento

Tras un exitoso Microsoft Connect(); 2016, en New York, donde se presentaron importantes novedades relacionadas con la plataforma Cloud, novedades en .NET, Visual Studio para MacOS o novedades en Xamarin, ¿algo mejor que recopilar todas las novedades en un evento?

De esta forma, el pasado 30 de Noviembre, tenía lugar en Madrid el re-Connect(); 2016. Una jornada con varias sesiones técnicas con miembros de la comunidad y también con miembros de Microsoft como David Carmona.

El material

Pude participar en el evento con una de las sesiones.

Novedades Xamarin
Novedades Xamarin

Desde que Microsoft hizo pública la compra de Xamarin el pasado febrero, todos estábamos esperando ansiosamente el gran evento de Microsoft, para saber cual va a ser la dirección del desarrollo multiplataforma liderado por Miguel de Icaza. La verdad que este evento no nos ha dejado indiferentes y se han anunciado muchas novedades que nos afectaran directa o indirectamente en nuestros día a día. En esta charla hicimos un pequeño resumen de las noticias más destacadas enfocadas al mundo .NET y Xamarin y hablamos de las novedades en IDEs (Visual Studio para MacOS), las nuevas herramientas, DevOps con Visual Studio Mobile Center o la llegada de Tizen.NET.

Se puede ver toda la grabación del evento en Channel 9.

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

Ver GitHub

Más información

[Material] Xamarin Dev Day Madrid

El evento

El pasado sábado 26 de Noviembre, tenía lugar en Madrid el Xamarin Dev Days. Una jornada con varias sesiones técnicas, taller, regalos y mucho networking.

El resultado fue un fantástico día de desarrollo Xamarin con muchas preguntas, ayuda y tiempo para charlar entre todos rodeados de un café o unas pizzas.

El material

Pude participar en el evento con una de las sesiones. Nos centramos en el desarrollo de aplicaciones móviles multiplataforma utilizando Xamarin.Forms:

Comenzamos por una introducción de conceptos básicos, primera demo aplicando MVVM y terminamos repasando todas las últimas novedades como DataPages, Native Views o el desarrollo para Tizen.

Tras las sesiones, realizamos un muy divertido taller donde paso a paso, desarrollamos una aplicación Xamarin.Forms aplicando MVVM y accediendo a información meteorológica.

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

Ver GitHub

Quisiera terminar añadiendo algunos agradecimientos. Comienzo por los chicos de Liferay por las instalaciones y toda la ayuda; a Plain Concepts y Bravent por su patrocinio; a Xamarin también por patrocinar el evento; a mis compañeros Dachi Gogotchuri, Sergio Gasca, Ramón Esteban y Alejandro Campos por sus demos y ayudar con todo y por supuesto a los asistentes. Gracias a todos.

Más información