[Evento CartujaDotNet] Material de “Introducción a las aplicaciones universales” en el Sevilla Mobility Day

El evento

El pasado sábado 05 de Julio tenía lugar el Sevilla Mobility Day en el Cloud Pointing de Microsoft situado en el Parque Empresarial Nuevo Torneo.  Un evento con múltiples charlas relacionadas con el desarrollo móvil de CartujaDotNet, grupo de usuarios .NET de Sevilla. Agradecer la colaboración de Guillermo Guerrero de Microsoft por hacer que todo sea tán fácil. Con todas las reservas agotadas, al llegar teníamos lleno absoluto:

Lleno absoluto!

Lleno absoluto!

Agradecer de entrada la gran acogida y asistencia de todos. Comenzamos el evento con una rápida presentación donde se mostraba la agenda del día, se presentaban a los ponentes, etc. A continuación, era mi turno con la primera sesión técnica hablando sobre aplicaciones universales:

Introduciendo los modelos de desarrollo en Windows Phone 8.1

Introduciendo los modelos de desarrollo en Windows Phone 8.1

Comenzamos repasando la situación en el desarrollo Windows & Windows Phone antes de la llegada de las aplicaciones universales asi como las opciones disponibles para compartir la mayor cantidad de código posible entre ambas plataformas. Continuamos introduciendo las aplicaciones universales llegando de el concepto a la creación de una aplicación. En la creación de la aplicación nos esforzamos para compartir la mayor cantidad posible de código y elementos comunes del proyecto centrados en el proyecto Shared. Y terminamos compartiendo XAML en el proyecto Shared en nuestra aplicación de ejemplo.

Tras la primera sesión, realizamos una pequeña parada para reponer fuerzas y volver con otra sesión de la mano de Josué Yeray. En este caso, continuábamos desarrollando para Windows y Windows Phone analizando las posibilidades de los Behaviors, Animaciones y Visual States:

Demo en directo de Behaviors, Animaciones y Visual States

Demo en directo de Behaviors, Animaciones y Visual States

Con un demo comenzada desde cero vimos que son y para que sirven los Behaviors con algunos casos prácticos útiles como por ejemplo, realizar la navegación entre páginas. Continuamos recalcando la importancia de la velocidad percibida contra la velocidad real de las aplicaciones, introduciendo las animaciones. Vimos los tipos disponibles y algun ejemplo. Terminamos con un ejemplo de una aplicación universal fotográfica donde con el uso de Visual States se controlaba la disposición de lsa fotos segun la orientación del dispositivo.

Tras otros minutos de descanso llegaba el turno de desarrollo de videojuegos multiplataforma con WaveEngine de la mano de Juan María Lao:

Desarrollo de videojuegos con WaveEngine

Desarrollo de videojuegos con WaveEngine

Tras una introducción a WaveEngine vimos las capacidades y desarrollo de videojuegos 3D. Juan María realizo un ejemplo desde cero donde nos mostraba los métodos update y draw del juego, el trabajo con componentes cargando una tetera en 3D. Continuamos viendo las posibilidades 2D del engine. Nos centramos en un juego disponibles en las stores estilo Flappy Bird bastante interesante. Aqui vimos la gestión de recursos con la herramienta Asset Exporter y como convertir el proyecto a cada una de las plataformas soportadas (Windows Phone, Windows Store, Android, iOS, Ouya, Mac OSX, etc.).

Para terminar el evento contábamos con una sesión sobre desarrollo de aplicaciones multiplataforma con Xamarin de la mano de Juan Cano y Marcos Cobeña:

¿MVVMCross o Xamarin.Forms?

¿MVVMCross o Xamarin.Forms?

De entrada, plantearon un dilema interesante, ante una aplicación multiplataforma con Xamarin, ¿que usamos?, ¿MVVMCross o Xamarin.Forms?. Con un ejemplo maestro-detalle del evento donde se mostraban el listado de ponentes y al pulsarlos en el detalle la información detallada de cada sesión fuimos viendo como se realiza el desarrollo de la aplicación tanto en MVVMCross como en Xamarin.Forms, detalles pros y contras. Al final de la charla, vimos una tabla comparativa con pros y contras y recomendaciones de cuando usar una opción u otra.

Con esta última sesión llegamos al final del evento. Un evento bastante completo con múltiples sesiones técnicas de un nivel muy alto y con una asistencia genial. Agradecer a todos los asistentes, a todos los ponentes y a patrocinadores por hacer posible el evento:

Gracias!

Gracias!

Sin duda, volveremos a tener más eventos de esta índole tras el parón veraniego!

El material

En mi caso, tuve el placer de poder “arrancar” el evento con una charla sobre aplicaciones universales.

Tenéis disponible la presentación utilizada a continuación:

En el ejemplo realizado el objetivo era crear una aplicación universal “real” (todo lo real que se puede hacer en el tiempo disponible) que conectase con un servicio para obtener las clasificaciones tanto de escuderías como de pilotos de la Formula 1. Los puntos importantes del ejemplo eran:

  • Como estructurar el proyecto y como implementar el patrón MVVM.
  • Como utilizar inyección de dependencias.
  • Ver como compartir la mayor cantidad de código y recursos posibles.
  • Ver los controles comunes y como compartir XAML.

La aplicación quedo como podéis ver a continuación:

Ejemplo Sevilla Mobility Day

Ejemplo Sevilla Mobility Day

Podéis descargar este ejemplo a continuación:

A parte de este ejemplo, vimos otros pequeños como el uso de compilación condicional en XAML o el uso de VisualStates para gestionar vistas compartidas en aplicaciones universales. Lo tenéis tambien disponible:

Más información

2 pensamientos en “[Evento CartujaDotNet] Material de “Introducción a las aplicaciones universales” en el Sevilla Mobility Day

  1. hola buenas tardes , te quería hacer una consulta sobre las universal apps , solamente pueden ser diseñadas con xaml o también se puede con html/css, la ultima consulta es: crees que es mejor desarrollar una aplicación para celular haciendo una aplicación universal o desarrollando directamente una aplicación para celular, desde ya muchas gracias saludos

    • Hola. Se pueden hacer aplicaciones universales también utilizando WinJS, es decir, Html5 y javascript. Tienes más información al respecto aqui: http://try.buildwinjs.com
      En cuanto si hacer una App Universal o solo para teléfono, bueno dependerá de tus objetivos. Con una arquitectura sólida y usando algunas buenas prácticas con aplicaciones universales pueden llegar a compartir una gran cantidad de código. Por lo tanto, si puedes mejor Universal.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s