[Articulo] Windows | Universal Windows Platform y Dispositivos Universales en Windows 10
Con Windows 8 tuvimos la presentación de Windows Runtime (conocido como WinRT), que era la evolución del modelo de aplicación de Windows. En sí mismo, WinRT fue pensado para ser una arquitectura común para las aplicaciones en el mundo Windows.
Recién con la salida de Windows 8.1 WinRT fue estabilizada y alineada dos grupos de dispositivos: Windows Phone 8.1 y Windows Desktop. Esto permitió a muchos desarrolladores comenzar a crear aplicaciones universales de Windows 8 que tenían como target tanto a Windows como a Windows Phone, utilizando un código compartido.
Claramente esto significó un gran avance en el desarrollo de aplicaciones multi-dispositivo, pero también es verdad que el sueño del código “único” no fue una realidad. Si bien estábamos más cerca que en versiones anteriores de Windows, recién el camino comenzaba.
En esta publicación trataremos el tema de Plataforma Universal de Windows y concepto de Dispositivo Universal para Windows 10. ¡Esperamos que lo disfruten y estamos en contacto!
[toc]
Introducción
Objetivo y Alcance
Esta publicación tiene como objetivo demostrar a las organizaciones y administradores de IT las novedades más importantes en relación a Universal Windows Platform y Universal Devices.
El alcance de esta publicación está referido al análisis de las siguientes características:
- Universal Windows Platform.
- Universal Devices.
Audiencia
Este documento está dirigido a Consultores, Profesionales IT y personas que desarrollan tareas de Consultoría, Administración y Soporte o que simplemente están interesados en leer e investigar sobre la tecnología alcanzada por esta publicación.
Comentarios y Corrección de Errores
Hemos realizado nuestro mejor esfuerzo para no cometer errores, pero al fin y al cabo somos seres humanos. Si deseás reportar algún error o darnos feedback de qué te pareció esta publicación, por favor no dejes de comunicarte con nosotros a través de correo electrónico a la siguiente dirección: info@tectimes.net.
Desarrollo
¿Qué es “Universal Windows Platform”?
Windows 10 introduce la “Plataforma Universal de Windows”, conocida en inglés como “Universal Windows Platform” (UWP). Ésta es la evolución y desarrollo de WinRT y la lleva al núcleo unificado de Windows 10.
Pero ¿qué significa realmente esto? Muy bien, vamos a entenderlo de la siguiente manera: como WUP es parte del núcleo de Windows, está presente en todos los dispositivos con Windows 10. Además de esto, las aplicaciones que utilicen UWP puede llamar no solo a las APIs de Windows Runtime (WinRT) que son comunes a todos los dispositivos, sino también a las API (incluyendo Win32 y .Net API) que son específicas de la familia de dispositivos en donde la aplicación se esté ejecutando.
El concepto de Plataforma Universal de Windows la podemos ver graficada en la Ilustración 1 que veremos más adelante.
Como comentábamos anteriormente, Universal Windows Platform proporciona una capa API de núcleo garantizada a través de todos los dispositivos. Esto significa, nada más y nada menos, que se puede crear un solo paquete de aplicación instalable en una amplia gama de dispositivos, sin tener que reescribir una sola línea de código. Adicionalmente a esto, los dispositivos pueden añadir sus propias APIs a esta capa API de núcleo garantizada, lo que permite a los desarrolladores poder agregar en forma condicional acceso a dichas APIs y mejorar la experiencia de su aplicación si se ejecuta en alguno de estos equipos. Más adelante, en la sección Aplicaciones Universales de Windows (UWA), vamos a conocer más detalles de las características de las aplicaciones universales en relación a adaptabilidad, interfaz de usuario y otros aspectos importantes para el desarrollo de software.
Ilustración 1
La Plataforma Universal de Windows además permite la distribución de las aplicaciones a través de la nueva tienda unificada de Windows, algo que también analizaremos más adelante en la sección
Dispositivos Universales
En Windows 8.1 y Windows Phone 8.1 las aplicaciones estaban dirigidas a un sistema operativo, ya sea Desktop o Phone. Windows 10 ha cambiado esto sustancialmente, permitiendo orientar una aplicación a una o varias familias de dispositivos en vez de hacerlo directamente a un sistema operativo.
Familias de Dispositivos
Cuando hablamos de familia de dispositivos nos referimos a un conjunto de APIs, características del sistema y los comportamientos que pueden esperarse de los dispositivos dentro de la misma familia. Cuando se desarrolla una aplicación, se desarrolla en relación a una o más familias.
La jerarquía familiar de los dispositivos queda graficada en la Ilustración 2.
Ilustración 2
En sí mismo una familia de dispositivos es el fundamento de un sistema operativo. La familia de dispositivos universales es especial y no es, directamente, el fundamento de ningún sistema operativo. Lo que sí sucede es que las APIs de la Familia Universal de Dispositivos son heredadas por las familias de dispositivos hijos, lo que le permite estar en todos los sistemas operativos y, en consecuencia, en todos los dispositivos. A su vez, cada familia “hijo” agrega sus propias APIs específicas.
El beneficio del concepto de familia de dispositivos es que una aplicación puede funcionar para una, varias o quizás hasta en la totalidad de familias, que van desde computadoras de escritorio, teléfonos, tabletas, consolas Xbox, etc. Como comentamos antes, también pueden existir segmentos de código condicionales para aprovechar APIs específicas de alguna familia en particular y así maximizar la experiencia de nuestros usuarios.
La decisión de llegar a una o más familias de dispositivos es del programador (o del líder de programadores, por supuesto). Los impactos que genera esta decisión va a determinar lo siguiente:
- El conjunto de APIs que la aplicación va a suponer que están presentes cuando se ejecuta, por lo cual las puede llamar libremente.
- El conjunto de llamadas APIs que estarán dentro de sentencias condicionales, para que solo se ejecuten en una familia específica de dispositivos.
- El conjunto de dispositivos en los que la aplicación se puede instalar y, en consecuencia, serán ofrecidos por la tienda.
Dispositivos Básicos
Los dispositivos que se consideran básicos son:
- Teléfonos y tabléfonos.
- Tabletas.
- PC y portátiles.
- Dispositivos de Surface Hub.
- Dispositivos de Windows IoT.
Conclusiones
No aplica para esta publicación.
Referencias y Links
- Dispositivo básico para aplicaciones de la Plataforma universal de Windows (UWP): https://msdn.microsoft.com/windows/uwp/input-and-devices/device-primer