[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:

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:

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:

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:

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:

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:

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:

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *