lunes, 25 de julio de 2016

Un no tan breve resumen de la 1er sesión de Xamarin: Xamarin: Conceptos fundamentales


Aprovechando que el viaje de Praga a Zlín dura 3 horas y media, vamos a escribir otra entrada en el blog con un breve resumen de nuestra primer plática :-) El pasado Viernes 22 de Julio el grupo de Celaya Mobile .NET Developers Group comenzamos con nuestra primer sesión en línea del semestre con el tema Xamarin: Conceptos fundamentales. El objetivo es dar a conocer esta tecnologia a estudiantes, desarrolladores independientes y empresas para que puedan utilizarla en sus proyectos y soluciones de TI.



La sesión se realizó a través de YouTube y este es el link, por si te la perdiste o quieres verla de nuevo.

Dejando de lado los problemas que tuvimos al inicio (era la primera vez que realizaba una sesión a través de esta plataforma), considero que la sesión cumplió el objetivo de motivar a profesionistas de TI sobre el uso de esta plataforma. El interés mostrado por los participantes con sus preguntas y comentarios a la vez me dan impulso para continuar con estas sesiones =)


Without further ado, let's get started about our meeting. 
Durante la sesión nos enfocamos en 3 puntos principales: 


En primer lugar platicamos sobre Xamarin. Normalmente se asocia el término Xamarin a la tecnología que permite desarrollar aplicaciones móviles multiplataforma, pero en realidad esto es solo Xamarin Platform, uno de los 4 pilares de Xamarin. Los otros 3 son Xamarin Test Cloud (que te permite probar tu aplicación de manera remota en dispositivos físicos mediante pruebas unitarias automatizadas), Xamarin Insights (que en conjunción con HockeyApp te brinda información en tiempo real de cómo está siendo utilizada tu aplicación principalmente relacionada con su salud, es decir, el número de crasheos, qué tipo de excepciones se han generado, qué páginas son las más visitadas en tu app y más) y Xamarin University (entrenamiento en línea y en vivo con expertos que te permiten maximizar tu experiencia de aprendizaje en conjunto con laboratorios prácticos y solución de tus preguntas con el objetivo final de conseguir una certificación en Xamarin).


En segundo lugar platicamos de los beneficios que tiene Xamarin. El principal beneficio es que Xamarin Platform es una herramienta totalmente GRATUITA de desarrollo de aplicaciones móviles. Mencionamos los enfoques de programación existentes antes de Xamarin. En el enfoque Silo, programas una app en cada plataforma con su lenguaje y herramientas nativas. La ventaja es que el rendimiento es ideal (nativo) pero la principal desventaja es tener que programar la misma aplicación tantas veces como plataformas quieras manejar. En el enfoque WORA solo tienes que programar la app una vez y después la puedes desplegar en cualquier plataforma, dado que trabaja sobre una fragmentación de navegador. Desafortunadamente, las apps desarrolladas con este enfoque son muy limitadas, pues se trabaja sobre una base común a todas las plataformas (dejando de lado elementos importantes, tales como el uso de sensores). Además, el rendimiento y la interfaz de usuario no son nativos.


Y aquí es donde entra Xamarin, combinando las ventajas de los 2 enfoques anteriores. Brindando un rendimiento e interfaz nativos junto con el hecho de programar una sola vez la app (mediante el lenguaje C#), puedes desarrollar aplicaciones móviles en corto tiempo, simplificando esfuerzos e incrementando tu productividad. En general, desarrollando apps en Xamarin puedes compartir al menos un 80% de tu código entre las demás plataformas (principalmente código funcional tal como modelos, clases, métodos, algoritmos, etc). El restante 20% sería para elementos específicos de ciertas plataformas, manejo de sensores o tecnologías (por ejemplo NFC disponible en Android y no en iOS) y ciertos elementos de capa de presentación.


Desde el primer día que sale una nueva versión del SDK de Android e iOS, la versión C# en Xamarin está disponible al 100%. La promesa de Xamarin se reduce en el siguiente enunciado:


Otro de los beneficios es la gama de controles (o Views, como se les conoce en el mundo de Xamarin) con más de 40 páginas, layouts (forma de acomodar los views) y views disponibles para que generes tus aplicaciones multiplataforma.


Pero recuerda que la presentación y el desempeño de tus apps son nativos. Por ejemplo, un control de calendario tendrá un aspecto nativo de forma predeterminada en cada plataforma, tal como lo esperaría cualquier usuario.


Tienes 2 IDEs disponibles para desarrollar tus aplicaciones móviles con Xamarin: Visual Studio y Xamarin Studio. La limitante principal es que con XS no podrías generar los proyectos de Windows Phone, Windows 8 y UWP, pues solo se enfoca a Android y iOS. Por otro lado, VS no está disponible para Mac, por lo que tu herramienta de desarrollo tendrá que ser Xamarin Studio.


Como punto intermedio de la sesión comentamos sobre un concurso que lanzó Xamarin para ganarte una playera agregando un backend de Azure a tu app móvil. En esta entrada expliqué cómo te la podías ganar.


También se compartió un enlace donde puedes descargar diversos libros acerca de Xamarin, incluido el libro gratuito de Charles Petzold (yo lo llamo la Biblia de Xamarin.Forms)


Regresando a la presentación, mencionamos los pasos necesarios para que puedas instalar Xamarin ya sea con Visual Studio o Xamarin Studio. En el primer caso es un proceso muy sencillo, solamente hay que seleccionar instalación personalizada, la herramienta específica (C#/.NET [Xamarin]) y elementos adicionales (emuladores, SDK de Windows Phone/UWP). Con Xamarin Studio es todavía más fácil porque es un ejemplo clásico de software instalable a la Siguiente-Siguiente.


Lo ideal es probar nuestras aplicaciones móviles en dispositivos físicos. En caso de no contar con un dispositivo Android, además del emulador que viene integrado en Visual Studio y que requiere Hyper-V activado para funcionar, hay 2 emuladores que puedo recomendar: Xamarin Android Player y Genymotion.

Nuestra sesión finalizó comentando sobre un programa de beneficios gratuitos que proporciona Microsoft y otros partners, llamado Visual Studio Dev Essentials y gracias al cual puedes acceder por ejemplo a entrenamiento por 3 meses de Pluralsight, una cuenta de Azure con 25 dólares en créditos mensuales por un año e incluso una versión básica de Xamarin University, entre otros importantes beneficios.



Si bien no es la versión completa y que te permite certificarte, al menos puedes dar un impulso a tu experiencia de desarrollo móvil en Xamarin con acceso a videos bajo demanda sobre diversos tópicos de introducción sobre Xamarin.Forms, iOS, Android y más.


Aprovechando el espacio, un pequeño comercial :-) El próximo 3 de agosto voy a dar una sesión titulada Bots, Servicios Cognitivos y App móviles, donde platicaré de la importancia y la facilidad que tiene hoy en día el desarrollo de sistemas inteligentes que interactúen con las personas utilizando lenguaje natural, ademas de detectar nuestras emociones en tiempo real mediante video y fotografía; todo esto integrado en una aplicación móvil desarrollada con Xamarin, por supuesto. Esta charla de 1 hora es una introducción al evento SGNext que se realizará en la Ciudad de México el 30 y 31 de Agosto (más información aquí). Registrate en mi charla dando clic en el siguiente enlace.


Y con esto terminamos la charla y este breve resumen. 


Te recuerdo que el próximo Viernes 29 de Julio a las 10 am hora de México (5 pm hora de Europa Central) vamos a tener nuestra segunda reunión en línea con el tema Desarrolla tus primeras apps móviles con Xamarin.Forms

La sesión podrás seguirla a través de YouTube en el siguiente enlace.

Para futuras sesiones y más información, regístrate en nuestro grupo: Celaya Mobile .NET Developers Group.

Gracias por tu tiempo y si consideras útil esta entrada, compártela o comenta. Me dará mucho gusto leer tus opiniones.

¡Saludos y buen día! 

No hay comentarios:

Publicar un comentario