[Evento Online] Bienvenidos al desarrollo holográfico!

HololensIntroducción

Desde que Hololens apareció en nuestro horizonte, aparición a aparición, demo tras demo ibamos viendo posibilidades y un nuevo abanico de opciones abiertas de cara al desarrollo. Más tarde conocimos características, se liberó el SDK y comenzaron las primeras hornadas de dispositivos llegando a desarrolladores.

Hololens
Hololens

Ahora, con ellas a nuestra alcance, tras probar a fondo el SDK, emulador, Unity e incluso con la liberación de la versión inicial de la extensión de Hololens de parte de Wave Engine, ¿algo mejor que verlo y probarlo todo a fondo?.

El evento

¿Quieres ver que es lo más nuevo de Microsoft en dispositivos de interacción? ¿Qué es un gaze o bloom? En esta sesión comenzaremos con un unboxing de HoloLens, continuaremos con un análisis de características y apps disponibles y terminaremos viendo como desarrollar apps para HoloLens, adaptar apps UWP para HoloLens y como acceder al dispositivo para controlarlo por voz, etc.

Estrenamos nuevo formato en CartujaDotNet habilitando eventos online para ayudar y contribuir a cualquier miembro de la comunidad. El evento será el próximo Viernes, 03 de Junio.

  • 19:00 en España
  • 13:00 en Colombia
  • 12:00 en México Centro
  • 13:30 en Venezuela
  • 15:00 en Chile continental

¿Te apuntas?

Más información

[Quedada Informal] CartujaDotNet & SVQXDG

Map-LocationQuedada múltiple

Desde CartujaDotNet, grupo de usuarios .NET de Sevilla y SVQXDG, grupo de desarrolladores Xamarin de Sevilla, vamos a realizar una quedada informal para charlar abiertamente sobre tecnologías Microsoft, Xamarin, herramientas utilizadas, intercambiar impresiones, etc. Además, se analizarán las próximas charlas ya planteadas y los eventos confirmados entre otros temas de interés. Al ser quedada de dos grupos diferentes creemos que es una gran oportunidad para conocer, intercambiar e interactuar entre ambos permitiendo a miembros de cada uno conocer a los del otro y tratar otros aspectos.

No hace falta confirmar asistencia, y por supuesto será gratuito.

¿Te apuntas?

A continuación tienes disponible la fecha, hora y lugar:

  • Día: 01 de Junio (Miércoles)
  • Horario:  19:00h
  • Lugar: En la Terraza del McDonald’s de Santa Justa

Más información

[Evento] Revisando los principios del manifiesto ágil – ¿cómo de ágiles somos?

Team-02-WFEl evento

En este evento vamos a revisar el manifiesto ágil, con especial atención en los 12 principios detrás del mismo. Vamos a repasar y analizar cada principio y compartir nuestras experiencias de lo que significa cada uno de ellos en la práctica. El objetivo final es que todos los asistentes salgan con una mejor comprensión de lo que significa ser ágil y cómo aumentar la agilidad en nuestras organizaciones.

La agenda

La agenda específica del evento será:

  • 17:30h – 19:00h: Revisando los principios del manifiesto ágil – ¿cómo de ágiles somos?

La fecha

El evento tendrá lugar el próximo Viernes, 27 de Mayo de 17:30h a 19:00h. Tendremos una sesión técnica de 90 minutos aproximadamente.

El ponente

Esta vez, contaremos con Mark Dalgarno. Mark es consultor independiente de empresas con sede en Cambridge, Reino Unido. Suele trabajar con equipos técnicos y de negocio para ayudar a obtener el máximo provecho posible de las formas ágiles de trabajo. Cuando no está ayudando a alguna empresa como consultor, Mark es  también organizador de unas 15 conferencias de software.

El lugar

El evento se celebrará en la ETS de Ingeniería Informática. Dirección detallada:

E.T.S. Ingeniería Informática – Universidad de Sevilla
Av. Reina Mercedes s/n
Sevilla Se 41012

¿Te apuntas?

Más información

[Evento SVQXDG] Xamarin University Spring Fling 16

XamarinEl evento

En los últimos años, Xamarin ha ido celebrando cada vez con mayor expectación y éxito el Evolve. Un gran evento repleto de grandes sesiones técnicas, networking y agún que otro anuncio. Este año no será menos, además será más especial si cabe.

Y ante un evento de este calibre y con estas posibilidades, ¿algo mejor que tomar las novedades principales y montar un gran evento?. así nace este evento, completo de grandes sesiones técnicas abordando todas las novedades y tiempo para el networking. Por si fuese poco, daremos información detallada de Xamarin University y tendremos grandes sorpresas para todos los asistentes (si todos!).

La agenda será la siguiente:

  • 18:30h-18:45h: Recepción y bienvenida.
  • 18:45h-20:00h: Demos y más demos de las novedades del Evolve. Veremos Xamarin.Forms Previewer y su uso con datos de prueba en diseño, demos de los temas o DataPages incluidos en Xamarin.Forms, demos potentes con Xamarin Workbooks y mucho más. Si quieres ver y conocer todas las novedades, no te lo puedes perder!
  • 20:00h-20:20h: Mesa redonda donde se trasmitirán sesiones interesantes, experiencias en la visita al Evolve, respuestas a preguntas y lo que pueda surgir.
  • 20:20h-20:30h: Xamarin University  y concurso de regalos!

El lugar

El evento se celebrará en la ETS de Ingeniería Informática. Dirección detallada:

E.T.S. Ingeniería Informática – Universidad de Sevilla
Av. Reina Mercedes s/n
Sevilla Se 41012

ETS de Ingeniería Informática
ETS de Ingeniería Informática

La sala será la A2.14.

La fecha

El evento tendrá lugar el próximo Martes, 24 de Mayo de 18:30h a 20:30h. Tendremos una sesión técnica de  75 minutos de duración junto a una mesa redonda de 30 minutos.

¿Te apuntas?

Más información

[VideoBlog] Un vistazo a Xamarin.Forms Previewer

Introducción

Xamarin.Forms es un framework que añade una capa de abstracción sobre la parte de UI permitiendo crear aplicaciones multiplataforma nativas compartiendo tanto la lógica de negocio como la interfaz de usuario. En el pasado Evolve 2016 se mostraron novedades de peso permitiendo aumentar el rendimiento en el desarrollo además de nuevas caracterísiticas.

Xamarin.Forms Previewer

Hasta ahora, cada vez que queríamos previsualizar un cambio de una vista en Xamarin.Forms requería una compilación y despliegue de la aplicación a un emulador o dispositivo físico. No es de extrañar que una de las opciones más solicitadas en el trabajo con Xamarin.Forms fuese un editor visual. Gracias a un editor visual podríamos ver cada cambio al vuelo, de forma inmediata sin necesidad de compilaciones ni despliegues incrementando considerablemente nuestra productividad. La espera ha llegado a su fin. Xamarin ha lanzado la Preview (disponible para Xamarin Studio) de Xamarin.Forms Previewer, editor visual para Xamarin.Forms.

Además de poder previsualizar cualquier cambio en nuestro marcado XAML directamente al vuelo, Xamarin.Forms Previewer es capaz de:

  • Podemos cambiar la previsualización en iOS y Android rápidamente además de tamaños y orientación.
  • Mostrar Custom Renders.
  • Mostrar datos de prueba en diseño.

Ante una novedad de tanto peso, no es de extrañar que en este nuevo VideoBlog nos lancemos de lleno a probar todas las opciones disponibles.

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

Ver GitHub

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

Más información

[Podcast] Todas las novedades de Xamarin de los últimos meses

Head Phone-05-WFIntroducción

Si algo esta caracterizando las entradas del blog de este año es por su variedad en formatos. A los clásicos artículos técnicos se le han sumado formatos nuevos como el VideoBlog, artículos donde se incluye un video creando y analizando código por ejemplo. Siguen existiendo gran variedad de formatos y formas de compartir y ayudar entre todos. Bruno Capuano, arrancó hace poco un nuevo formato, el de los podcasts donde poder reunir a diferentes miembros de la comunidad para tener charlas donde abordar diferentes temáticas técnicas. Un formato divertido y ameno que puede ser consumido en diferentes situaciones, desde el coche en un viaje a continuar desarrollando con el mismo de fondo.

El podcast

Ante la enorme cantidad de cambios y novedades que han llegado desde Xamarin en los últimos meses, ¿algo mejor que reunirnos e ir comentándolas una a una?. Desde el anuncio de compra por parte de Microsoft hasta las últimas novedades presentadas en el Evolve pasando por supuesto por el Build, charlamos sobre cada uno de los cambios destacados en Xamarin.

Podcast
Podcast

Muchas gracias a Bruno por la invitación al podcast, esperamos que os guste!

Más información

[Xamarin.Forms] Adaptando aplicaciones para Tablets

Tablet HoldIntroducción

Corría el año 2010, finales de Enero, cuando Steve Jobs presentaba al mundo el iPad. El resto de la historia todos la conocemos. No era la primera tableta del mundo, ni la que más posibilidades brindaba pero si que fue sin duda un momento importante en el mercado. La sucesión de modelos por parte de los chicos de Cupertino, la explosión vivida en factores, formas y rangos de precios en tabletas Android y también la evolución de tabletas y crecimiento de éxito en tabletas Windows y equipos duales demuestran el crecimiento e importancia en el sector de las tabletas.

Como desarrolladores nos afecta de forma directa. Cuando desarrollamos aplicaciones móviles, es importante tener en cuenta no solo diversas plataformas, también factores de forma incluyendo tabletas. Al desarrollar una aplicación móvil multiplataforma con Xamarin.Forms además de compartir la lógica de negocio, compartimos la interfaz de usuario.

Teniendo en cuenta que las vistas son compartidas, ¿cómo adaptamos una aplicación Xamarin.Forms a tabletas?. En este artículo, vamos a repasar todos los detalles y aspectos a tener en cuenta para lograr ofrecer la mejor experiencia posible en cada formato.

Nuestra aplicación móvil

Para adaptar una aplicación Xamarin.Forms móvil a tabletas necesitamos…una aplicación. Vamos a partir de un proyecto con una aplicación móvil para todas las plataformas que muestra información relacionada con la Formula 1. Cuenta con posibilidad de ver pilotos con sus estadísticas, circuitos, escuderías, etc.

Interfaz en teléfonos
Interfaz en teléfonos

La aplicación utiliza servicios web para acceder a la información y muestra la misma de diversas formas, desde información numérica a formato más visual como gráficas.

Nuestro objetivo será adaptar la aplicación a tabletas adaptando la interfaz de usuario, la navegación y los recursos utilizados.

Añadiendo soporte a Tabletas

Antes de adaptar estilos, vistas, navegación o recursos, debemos asegurarnos que la aplicación nativa en cada plataforma soportan las tabletas.

iOS

En el caso de iOS, es decir, iPads, la plantilla automática de Xamarin.Forms incluye soporte. Podemos revisarlo verificando si la propiedad Info.plist > Devices tiene asignado el valor Universal.

Android

El ecosistema Android es bastante variado y complejo contando con una enorme diversidad de tamaños de pantalla. Desde Apps Xamarin.Forms tenemos soporte a toda la variedad.

Windows

Xamarin.Foms cuenta con soporte a aplicaciones Universal Windows Platform también conocido por las siglas en inglés UWP. Las aplicaciones Universales en Windows 10 permite acceder a una enorme variedad de familias de dispositivos, desde teléfonos a tabletas y PCs.

Detectando si estamos en teléfono o tableta

Para poder modificar el comportamiento de la aplicación dependiendo de si estamos en un teléfono o una tableta, necesitamos verificar si estamos en uno u otro. Podemos utilizar la clase Device para acceder a la enumeración Device.Idiom para verificar si estamos en teléfono o tableta:

if (Device.Idiom == TargetIdiom.Tablet)
{

}
else
{

}

La enumeración Device.Idiom cuenta con los siguientes posibles valores:

  • Phone: Indica que estamos en un teléfono. iPhone, iPod touch, Windows Phone y dispositivos Android por debajo de los 600 dips.
  • Tablet: Estamos ante iPad, dispositivos Windows 8.1 o dispositivos Android por encima de los 600 dips.
  • Desktop: Valor que obtenemos en aplicaciones UWP.
  • Unsupported: No soportado.

La clase Device es muy importante en Xamarin.Forms ya que nos permite acceder a una serie de propiedades y métodos con el objetivo de personalizar la aplicación según dispositivo y plataforma. Además de permitirnos detectar el tipo de dispositivo, podemos detectar la plataforma gracias a la enumeración Device.OS o personalizar elementos de la interfaz gracias al método Device.OnPlatform entre otras opciones.

De igual forma que la clase Device nos brinda sus opciones desde código C#, tenemos acceso a ellas desde código XAML:

<OnIdiom 
     x:TypeArguments=""                  
     Phone=""                  
     Tablet=""/> 

Utilizando OnIdiom en cualquier elemento que compone el árbol visual, podemos personalizar propiedades del mismo según si estamos ante teléfonos o tabletas.

Adaptando la UI

En nuestra aplicación, podemos adaptar las diferentes vistas añadiendo diferentes estilos, tamaños de fuente, márgenes y espaciado según estamos en teléfonos o tabletas de forma muy sencilla:

<Label              
     Text="{Binding Driver.CompleteName}"             
     TextColor="White"             
     XAlign="Center">              
     <Label.FontSize>                
          <OnIdiom x:TypeArguments="x:Double"                     
               Phone="24"                  
               Tablet="28"/>             
     </Label.FontSize>            
</Label>

En el ejemplo anterior, el texto que utilizamos para mostrar el nombre de un piloto contará con un tamaño de fuente diferente en teléfonos y tabletas, siendo de mayor tamaño en el caso de contar con mayor tamaño de pantalla.

Adaptando recursos

De igual forma, utilizando OnIdiom podemos personalizar los recursos utilizados por teléfonos y tabletas.

<ContentPage.BackgroundImage>
     <OnIdiom x:TypeArguments="x:String"                  
     Phone="Splash.jpg"                  
     Tablet="Splash@2x.jpg"/>  
</ContentPage.BackgroundImage>

Adaptando la navegación

Poder detectar si estamos ante teléfono o tableta y adaptar los elementos visuales en función de ello esta genial. Podremos continuar compartiendo no solo la lógica sino las vistas de la aplicación añadiendo de forma sencilla cambios por tipo de dispositivo. Sin embargo, la exigencia de los usuarios móviles con la madurez del mercado móvil actual, hace que no sea siempre suficiente. Los usuarios actuales estan ya acostumbrados a experiencias adaptadas y de calidad para cada uno de sus dispositivos. En el caso específico de nuestra aplicación, un listado de pilotos sin aprovechar gran parte del ancho de la pantalla navegando a una vista de detalles, no es la mejor experiencia posible en tabletas.

Ante estos casos, podemos crear vistas específicas personalizadas para tabletas. Para tabletas creamos una nueva vista de tipo maestro-detalle que nos permitirá mostrar el listado de pilotos con su información de detalle a la vez, algo mucho más adaptado y apropiado en tabletas.

public class DriverListTabletView : MasterDetailPage    
{        
     private object Parameter { get; set; }
        
     public DriverListTabletView(object parameter)      
     {
            Title = "Drivers";

            Parameter = parameter;
            Master = new DriverListView(null);

            Detail = new ContentPage
            {
                Content = new StackLayout
                {
                    VerticalOptions = LayoutOptions.Center,
                    HorizontalOptions = LayoutOptions.Center,
                    Children =
                    {
                        new Label
                        {
                            Text = "Select a Driver",
                            FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label))
                        }
                    }
                }
            };
                           
            ((DriverListView)Master).ItemSelected = (driver) =>
            {
                Detail = new DriverDetailView(driver);

                if (Device.OS != TargetPlatform.Windows)
                    IsPresented = false;

            };

            IsPresented = true;
        }
}

El contenido de Master será la vista del listado de pilotos, mientras que el contenido de Detail será la vista de detalles de un piloto. De esta forma, ofrecemos la mejor experiencia posible en cada tipo de dispositivo pero reutilizando de nuevo, como objetivo siempre firme al utilizar Xamarin.Forms, la mayor cantidad de código posible.

Para modificar el flujo de navegación hacia la vista detalles del piloto utilizando exactamente la misma vista, modificamos la ViewModel del listado de pilotos añadiendo una Action para propagar el evento de selección hacia la nueva vista específica para tabletas.

Utilizando Device.Idiom verificamos si estamos ante teléfono o tableta y modificamos el flujo de navegación en consecuencia:

if (Device.Idiom == TargetIdiom.Tablet || Device.Idiom == TargetIdiom.Desktop)
     Detail = new NavigationPage(new DriverListTabletView(null));
else
     Detail = new NavigationPage(new DriverListView(null));

El resultado:

App Xamarin.Forms adaptada a tabletas
App Xamarin.Forms adaptada a tabletas

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

Ver GitHub

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

Más información