Compartir a través de



Diciembre 2015

Volumen 30, número 13

Aplicaciones modernas: lo que necesita saber sobre el desarrollo de aplicaciones de Windows 10

Por Rachel Appel | Diciembre de 2015

Rachel AppelPensé que sería buena idea ofrecer algo de información sobre el desarrollo de aplicaciones de Windows 10 para ayudarle a entenderlo y usarlo de forma más eficiente. Aunque algunas de las características que se explican aquí resultan útiles para el usuario medio, es muy recomendable que los desarrolladores las conozcan, no solo porque ellos también son usuarios, sino también para mejorar el software que crean.

Visual Studio 2015

El IDE que la mayoría de desarrolladores de Microsoft usan es Visual Studio. Entre las primeras cosas que observará que han cambiado en Visual Studio 2015 se encuentran el nuevo instalador simplificado y la capacidad de iniciar sesión con varias cuentas. Es magnífico para la gran cantidad de desarrolladores que son consultores y trabajadores a jornada completa que deben usar la red corporativa durante el día y publicar aplicaciones en la tienda por las noches.

Hay una enorme cantidad de herramientas de terceros disponibles en la instalación de Visual Studio. Xamarin está disponible y listo para usarse desde el principio, como lo está todo el software que necesita para un desarrollo multiplataforma. No obstante, debe seleccionar la opción para incluirlo en la instalación. Además de C# con Xamarin, hay opciones para instalar Java para Android y lenguajes basados en C para iOS y Android.

Como es habitual, las ediciones y licencias de Visual Studio casi requieren un doctorado para entender o recordar las características que corresponden a cada edición. Afortunadamente, puede obtener más información y comparar las ofertas de Visual Studio 2015 en bit.ly/1COm2fP.

Con cada nueva versión de Visual Studio se introduce un nuevo conjunto de plantillas. En ASP.NET, las plantillas ahora habilitan la compilación de sitios web débilmente acoplados con inserción de dependencias, que está disponible para toda la aplicación de ASP.NET MVC 6. Las aplicaciones implementadas en Microsoft Store se centran principalmente en el concepto de aplicación para Plataforma universal de Windows (UWP) para permitir a los desarrolladores crear aplicaciones con código base común para todos los sistemas operativos Windows y los dispositivos que los ejecutan. Use C#, Visual Basic, JavaScript o C++ para crear aplicaciones para UWP. Se incluye más información sobre las aplicaciones para UWP más adelante en esta columna.

Información sobre el nuevo explorador Edge

Uno de los cambios más evidentes y comentados de Windows es el explorador Edge, que permite una experiencia de navegación rápida y fluida. Con solo usar Edge durante unos minutos, queda claro que no se trata del clásico Internet Explorer. Para comenzar, se han implementado miles de mejoras en la experiencia de exploración (bit.ly/­1G49Cwe). Los cambios más notorios son el tipo de letra suavizada de Edge, una página de inicio llena de contenido personalizable y la apariencia general. En la Figura 1 se muestra la página principal de MSDN Magazine en el explorador Edge en Windows 10.

El explorador Edge con su experiencia fluida y elegante
Figura 1. El explorador Edge con su experiencia fluida y elegante

Lo primero y más importante es que el explorador Edge se centra en la interoperabilidad.

Todos los exploradores necesitan uno o más motores para procesar el código HTML, CSS y JavaScript que contienen las páginas web actuales. Por tanto, el equipo de Edge ha diseñado un nuevo motor de procesamiento de HTML llamado EdgeHTML. La interoperabilidad ofrece varios beneficios, entre los que se incluyen la capacidad de crear HTML que se muestre correctamente en una variedad de dispositivos y factores de forma, mientras se desarrollan de forma continua aplicaciones web multiplataforma. El equipo ha implementado 45 nuevos estándares de HTML en EdgeHTML (bit.ly/1G49Cwe).

Se incluye el mismo motor Chakra de Internet Explorer. Como Chakra es increíblemente rápido y tiene un gran rendimiento, tiene sentido mantenerlo y realizar algunos ajustes. Su velocidad se debe a muchos factores, aunque uno de los más importantes es una técnica denominada descarga de la unidad de procesamiento gráfico (GPU). Chakra descarga o envía scripts a la GPU para su procesamiento. Esto implica que el script se ejecuta en la GPU, mientras que el código HTML y las tecnologías relacionadas se ejecutan en la CPU, donde normalmente se produce el procesamiento. Cuando el equipo de Internet Explorer implementó esta característica, rápidamente el resto de exploradores también comenzaron a implementarla. Puede obtener información detallada sobre el rendimiento de Chakra en Edge si consulta el Blog de Windows (bit.ly/1X0Npt0).

También puede consultar la guía para desarrolladores de Edge bit.ly/1jwFYec, donde encontrará un análisis de cómo se renovaron las herramientas F12 con el objetivo de conseguir un uso eficaz. Algunas de estas interesantes características nuevas son la capacidad de establecer puntos de interrupción XHR y la de ver páginas en el Explorador DOM.

Plataforma universal de Windows

Hay una cantidad importante de tráfico web en los smartphones y tabletas, aunque también hay muchos navegadores web potentes. Hoy en día, es imprescindible que las aplicaciones y los sitios web admitan varios dispositivos y factores de forma.

Windows 10 es la familia de sistemas operativos verdaderamente universales. Ahora puede compilar y mantener un código base, un paquete y un envío a una tienda para todos los dispositivos de Windows 10. Es decir, todos los dispositivos desde teléfonos, tabletas y portátiles a equipos de escritorio, ultrabooks y servidores. En cualquier dispositivo que se le ocurra, las aplicaciones para UWP podrán ejecutarse en él.

Las notificaciones de Windows son como noticias para mí

¿A quién no le encanta que el teléfono, el ordenador u otros dispositivos puedan avisar y recordar todo tipo de cosas, independientemente de si lo considera importante o no? ¿El cumpleaños de la hermana del amigo del vecino, que ya cumple 36? Vale. Ahora puede recordar a sus usuarios todo tipo de cosas relacionadas con la aplicación. Eso sí, si el usuario lo permite. Algunos usuarios desactivan las notificaciones. A los que les gustan, pueden activar las sugerencias sobre Windows, así como notificaciones específicas de aplicaciones o del sistema en la configuración del sistema.

Existe un nuevo Centro de actividades para las notificaciones de la aplicación; su icono se encuentra en la parte inferior derecha de la pantalla, en el área de notificación de Windows (también conocida como la bandeja del sistema). Si hace clic en el icono de notificaciones, se muestra un control flotante que contiene iconos táctiles en una lista de mensajes en espera. Las notificaciones de la aplicación se mostrarán en el área de notificación, solo si el usuario las aprueba.

El código para crear notificaciones es esencialmente el mismo que anteriormente, en el que Windows controla las pantallas de notificación y su aspecto general. Por supuesto, puede personalizar en parte la apariencia si selecciona una de las plantillas de notificación definidas previamente. Hay tantas opciones que se pueden elegir que no debería tener problemas para encontrar una que se ajuste a sus necesidades:

ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01;
XmlDocument toastXml =
  ToastNotificationManager.GetTemplateContent(toastTemplate);

Para más información, consulte el artículo de MSDN Library "Trabajar con iconos, distintivos y notificaciones del sistema (XAML)" en bit.ly/1LPogJw.

Hablar a Cortana

Windows Phone desveló Cortana al mundo. Cortana es el asistente digital habilitado por voz de Microsoft que permite usar comandos de voz para realizar distintas tareas, como programar citas, obtener indicaciones de direcciones y recuperar las últimas noticias y el tiempo más reciente. Cortana puede ayudarle en muchísimas actividades diarias. Un software tan útil y valioso se merece un SDK; en Windows 10, existen nuevas características como los comandos de voz en segundo plano y el dictado continuo. Incluso puede habilitar capacidades de texto a voz (TTS) con el SDK Speech. El uso de comandos de voz y la tecnología de reconocimiento de voz es una excelente forma para crear un producto de mayor calidad que incorpora algo más que una simple interfaz de usuario visual.

Para crear aplicaciones de Windows con características de voz, cree y registre archivos de definición de voz (.vcd) donde se enumeren los comandos, las palabras y las frases disponibles para la aplicación, como lo haría para las versiones anteriores de Windows y Visual Studio. Después, puede escribir la aplicación en C#, JavaScript o el lenguaje que prefiera y dejar que Cortana traduzca esos comandos a forma de voz. El código es muy simple y se parece a lo que se muestra en la Figura 2, que reemplaza el evento OnActivated para detectar el comando que se ha emitido, de forma que la aplicación pueda realizar una acción.

Figura 2. El contenido de un archivo .vcd y el código C# que lo acompaña

<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="https://schemas.microsoft.com/voicecommands/1.0">
  <CommandSet xml:lang="en-us">
    <CommandPrefix> Options </CommandPrefix>
    <Example> Show Options</Example>
    <Command Name="showOptions">
      <Example> Show options </Example>
      <ListenFor> [Show] {optionViews} </ListenFor>
      <Feedback> Showing {optionViews} </Feedback>
      <Navigate Target="/options.xaml"/>
    </Command>
    <PhraseList Label="optionViews">
      <Item> today's specials </Item>
      <Item> best sellers </Item>
    </PhraseList>
  </CommandSet>
  <!-- Other CommandSets for other languages -->
</VoiceCommands>
protected override void OnActivated(IActivatedEventArgs args)
  {
    if (args.Kind ==
      Windows.ApplicationModel.Activation.ActivationKind.VoiceCommand)
    {
      var commandArgs =
        args as Windows.ApplicationModel.Activation.VoiceCommandActivatedEventArgs;
        Windows.Media.SpeechRecognition.SpeechRecognitionResult
      speechRecognitionResult =
        commandArgs.Result;
      string voiceCommandName = speechRecognitionResult.RulePath[0];
      string textSpoken = speechRecognitionResult.Text;
      string navigationTarget =
        speechRecognitionResult.SemanticInterpretation.
        Properties["NavigationTarget"][0];
      switch (voiceCommandName)
      {
        case "showOptions":
          // EventReminder(textSpoken, navigationTarget);
          break;
        // default:
        // There is no match for the voice command name
      }
    }
  }

La Tienda Windows

La nueva Tienda Windows tiene algo para todo el mundo. Para las empresas, la Tienda Windows permite que los administradores presenten las aplicaciones para sus trabajadores. Incluso pueden distribuir aplicaciones exclusivas desde la Tienda Windows para implementar aplicaciones privadas de línea de negocio. Además, ahora los pedidos de compra son un método de pago aceptado. En Windows 10, la Tienda ahora ofrece suscripciones como una opción de rentabilización adicional.

Como parte de las actualizaciones de la Tienda, el SDK de publicidad de Microsoft de Windows 10 ahora admite vídeos publicitarios. Algunos expertos en marketing señalan que los vídeos y los elementos multimedia venden más que el texto, ahora puede probar esa hipótesis en su aplicación. Por suerte, como Microsoft anunció el seguimiento de instalación como una característica nueva, tiene una forma de hacerlo.

Continuum

Sin embargo, no todos estos desarrollos de UWP se centran en la experiencia entre dispositivos. Continuum en Windows 10 identifica cuando quiere cambiar entre los modos de uso en dispositivos multifunción. Imagine a Francine Flyer, una usuaria que se encuentra en un avión comercial, ha finalizado un trabajo en el modo de escritorio de su Surface y ahora quiere ver una película. Francine Flyer cambia sin esfuerzo entre el modo de escritorio y de tableta, simplemente desconectando el teclado. Windows lo detectará y le preguntará si quiere cambiar a un escenario con más funciones táctiles. Flyer pulsa "Sí", Windows cambia a un modo con más funciones táctiles y Francine disfrutará de su película sin que un teclado o mouse inoportunos le interfieran. Como puede ver, Continuum es fantástico para dispositivos Surface, tabletas o portátiles híbridos o convertibles y cualquier tipo de dispositivo multifunción. Incluso aunque disponga de un portátil que tenga una pantalla táctil sin capacidades convertibles, seguirá sacando provecho del cambio entre modos. No solo los dispositivos grandes se pueden beneficiar de Continuum. Continuum para teléfonos permitirá que el usuario utilice sus aplicaciones como aplicaciones de escritorio cuando conecte su teléfono a una pantalla, un mouse y un teclado inalámbricos. Con la gran cantidad de dispositivos de tamaño de tabléfono que existen, Continuum será una herramienta muy utilizada.

Un nuevo (Menú) Inicio

Sin lugar a dudas, el cambio más evidente, y probablemente uno sobre los que más se ha discutido, es el Menú Inicio de Windows. Hay algunos temas relacionados con la interfaz de usuario que durante toda la historia de la informática han generado polémica; el menú Inicio de Windows es claramente uno de ellos. Con cada versión nueva de Windows aparece un grupo de personas a las que les encantan los cambios del menú Inicio y otro grupo igual de numeroso al que no le gustan. Cuando se introdujo la experiencia moderna en Windows 8, muchos se mostraron encantados con el nuevo diseño, pero otros se aferraron a los paradigmas clásicos y se mostraron contrarios al cambio. Ahora, en Windows 10, hay cambios muy importantes en el menú Inicio.

De la manera actual, el diseño para mover los iconos al menú Inicio es mucho mejor que antes; además, el flujo entre el escritorio y la página de inicio era un poco problemático. Combine eso con Continuum y ahora disponemos de un menú Inicio muy mejorado, con una página de inicio que solo se encuentra donde debería estar: en los dispositivos táctiles, como las tabletas, los teléfonos, etc. Si prefiere los métodos abreviados de teclado, recuerde que la tecla Windows lleva ya un tiempo con nosotros. Puede comenzar a escribir el nombre de la aplicación o lo que quiere hacer, y Windows encontrará la aplicación o realizará la acción que desea.

Adaptarse a una experiencia de usuario adaptable

El desarrollo adaptable en la familia de sistemas operativos de Windows es conceptualmente similar al diseño con capacidad de respuesta para la web. Sin embargo, el desarrollo adaptable tiene como destino familias enteras de dispositivos, mientras que el objetivo del desarrollo con capacidad de respuesta son los intervalos de tamaños de pantalla. En los últimos años, ha sido imposible mantener el ritmo con la explosión de dispositivos diferentes en el mercado. Hay personas a las que la compra de un nuevo smartphone les provoca una parálisis de la capacidad de análisis. ¿Puede imaginarse que esas personas tuvieran que desarrollar software para todos esos dispositivos? Afortunadamente, Windows 10 determina el dispositivo que hospeda la aplicación en tiempo de ejecución, o la forma en que el usuario la utiliza, y ajusta la experiencia de usuario de forma apropiada. Esto implica que los elementos como los controles flotantes u otros controles se pueden cambiar de tamaño automáticamente o se les puede aplicar una fuente mayor o menor, en función de la resolución. Antes de diseñar una solución adaptable, asegúrese de consultar el artículo de MSDN Library "Dispositivo básico para aplicaciones para la Plataforma universal de Windows (UWP)" en bit.ly/1MpspVh.

One Windows Platform

Una de las características más destacadas de Windows 10 es la llegada de la aplicación de UWP Una aplicación de UWP es aquella que se puede implementar en todos los sistemas operativos Windows, todo desde una base de código única. Normalmente, esta estrategia solo funciona para el back-end y la lógica, pero se trata también de un proceso mucho más fluido para crear la interfaz de usuario. Es así porque en lugar de tener como destino distintos sistemas operativos y escribir varias versiones del mismo código de interfaz de usuario, el destino son familias de dispositivos enteras; eso se traduce en menos dificultades a la hora de crear la interfaz de usuario. No obstante, si solo quiere tener como destino un sistema operativo concreto, puede hacerlo. Si no, construirá la interfaz de usuario de forma que funcione bien dentro de unos tamaños mínimo y máximo a los que las familias de dispositivos suelen adaptarse con Continuum. Hay varias API y varios cambios de controles en XAML, así como en la Biblioteca de Windows para JavaScript (WinJS). XAML en concreto dispone de un nuevo control Calendar, junto con nuevos controles de panel adaptables en los que puede colocar el calendario.

Como desarrollador, puede aprovechar la ventaja de solo tener que ocuparse de una única solución en Visual Studio, ya que el código base subyacente llama a One Windows Platform. El modelo de solución única permite que la tecnología y los controles adaptables se ajusten a las distintas familias de dispositivos con poco o nada de código.

Resumen

Windows continúa rediseñando el horizonte de la experiencia de usuario para ofrecer a los usuarios lo que quieren. Hay una gran cantidad de interesantes características nuevas que puede incorporar a su aplicación, como los cambios en las API y los controles. Es fácil olvidar que la voz también es un tipo de entrada, por lo que no se olvide de tener en cuenta a Cortana para su próxima aplicación. Desde la Tienda Windows a Visual Studio, Windows 10 permite una interfaz de usuario y un desarrollo fluidos.


Rachel Appeles una consultora, autora, mentora y antigua empleada de Microsoft con más de veinte años de experiencia en la industria de TI. Da conferencias sobre las principales industrias como Visual Studio Live!, DevConnections, MIX y más. Su experiencia se basa en el desarrollo de soluciones que alinean la empresa y la tecnología en la pila del dispositivo y web abierta de Microsoft. Para obtener más información sobre Appel, visite su sitio web en rachelappel.com.

Gracias al siguiente experto técnico de Microsoft por revisar este artículo: Frank La Vigne