Seguimos en esta segunda entrega del SDK de Windows 10 y sus herramientas de desarrollo para conocer mejor lo que el nuevo sistema permitirá hacer a aquellos que decidan crear una aplicación para él. En este segundo artículo nos centraremos en algún aspecto técnico y en alguna función concreta, que son más visibles y menos abstractas para los usuarios finales. Empecemos con el aspecto técnico:

.NET Native (o compilación a nativo en la nube)

Personalmente, considero .NET Native como una de las mejoras que más efecto pueden hacer en nuestra experiencia en Windows 10 para smartphones. Para entenderla vamos a preguntarnos ¿Cómo funcionan las aplicaciones de Windows y Windows Phone actualmente? Cuando nosotros hacemos una aplicación en C# utilizando .NET, esta se compila a CIL, que cuando se sube a la tienda se vuelve a compilar en MDIL. Cuando descargamos la aplicación a nuestro dispositivo se hacen optimizaciones y se generan binarios para que la compilación JIT en el dispositivo sea más rápido. Para entendernos, las apps actuales de Windows Phone funcionan en una máquina virtual, que aunque muy optimizada, sigue siendo una máquina virtual.

Microsoft ha mejorado esto en Windows 10 compilando las aplicaciones en la nube, de manera que las apps llegarán a nuestro teléfono como código nativo. ¿Qué significa? Que no habrá máquina virtual detrás, lo que se traduce en aperturas de aplicaciones veloces, cargas mas rápidas, funcionamiento veloz y, en general, menos tiempos de espera.

La barra de título

Si habéis comprado y usado Tweetium, una de las mejores apps de Twitter Universal, os habréis dado cuenta de que la barra de título es de color azul. Podemos jugar con estos aspectos en las aplicaciones universales con el SDK de Windows 10. ¡Atención! Todo el código que voy a mostrar ahora puede no ser efectivo en futuras versiones de Windows 10, ya que se trata de una previa técnica. Vamos a verlo:

Propiedades de color

BackgroundColor: El color del fondo de la barra (¿obvio, no?)
ForegroundColor: El color del texto de la barra
ButtonForegroundColor: El color del texto de los botones
ButtonBackgroundColor: El color del fondo de los botones
ButtonHoverBackgroundColor y ButtonHoverForegroundColor: El color cuando el ratón o stylus está encima de los botones
PuttonPressedBackgroundColor y ButtonPressedForegroundColor: El color cuando se presiona el botón

var v = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
            var allProperties = v.GetType().GetRuntimeProperties();
            var titleBar = allProperties.FirstOrDefault(x => x.Name == "TitleBar");
            if (titleBar == null) return;
            dynamic titleBarInst = titleBar.GetMethod.Invoke(v, null);
            titleBarInst.BackgroundColor = Color.FromArgb(0, 126, 56, 121);
            titleBarInst.ForegroundColor = Colors.White;
            titleBarInst.ButtonBackgroundColor = Color.FromArgb(0, 176, 123, 172);
            titleBarInst.ButtonForegroundColor = Colors.White;
            titleBarInst.ButtonHoverBackgroundColor = Color.FromArgb(0, 126, 56, 121);

            navigationHelper.OnNavigatedTo(e);

Jugando un poquito con los colores y aplicando el código anterior, así es como queda (en morado insider, por supuesto):

Colores ventana insider

Aplicaciones sin marca de título

Nos la podemos encontrar en la alpha de spartan, y parece que VLC también tendrá este tipo de marco.  Son las ventanas sin marco de título, significando esto que no tienen una barra de título y que su contenido ocupa todo el marco, sin tener bordes ni barra superior. Esta característica es realmente útil para ventanas que quieren su propia personalización.Vamos a ver un ejemplo, en este caso en la futura aplicación de VLC para Windows 10:

VLC en Windows 10

Observamos que no tiene marco, y que la ventana entera es la propia aplicación de VLC, dándole un aspecto atractivo y poco comun en Windows. Así tenemos más opciones de marco de ventanas para hacer nuestra app visualmente agradable y bonita ¿Qué te parecen estas nuevas APIS?

Anterior | Descubre con nosotros el nuevo SDK de Windows 10 (I)

19 Comentarios

  1. Que bien que las nuevas APIs permitirán hacer más cosas para beneficiarnos a los usuarios finales. Y por cierto, buen artículo.

  2. Me encanto lo de .NET Native. Siempre consideré que .NET podía mejorar en el apartado de la optimización, por lo de la compilación en lenguaje intermedio, ahora con la nueva compilación, las apps van a volar *_*

  3. hola amigos, tengo la build 10041 y tengo un problema con la tienda. nesecito descargar oficce y excell y demas apps, pero no se realizan las descargas, todas se quedan sin responder, tampoco se pueden cancelar, tal como aparece en la imagen. espero sus respuestas, saludos!

  4. Gran artículo Antonio, muy interesante .NET Native, y no tenia idea lo de maquina virtual en Windows Phone. Supongo que a su vez con .NET Native, desaparecía los “Cargando…” / “Reanudando “, o eso espero.

  5. Como siempre Antonio, un genial articulo. Me gusta eso de que ahora las barras y el resto de cosas sean mas personalizables, y lo mas importante, dejar de depender de virtualizaciones que lastran el rendimiento de apps.

  6. ¿Y para ese tipo de interfaces se podría usar únicamente C# o hay que dominar XAML también?

  7. Hola, me gustaría saber si saben de algún blog o comunidad donde se hable sobre el desarrollo de windows, tanto Phone como escritorio, pero ya utilizando el SDK de Windows 10. Quiero incursionar en esta plataforma :D Desde ya gracias. A propósito, me encanta este post, pero no encontré la primera parte.. Estaría bueno que siguieran sacando cosas como estas, ya que la temática y el diseño del blog es muy bueno… Esta apunto de entrar en mis favoritos…

Comments are closed.