Las aplicaciones clásicas de Windows nos han acompañado desde siempre. Han ido evolucionando junto con el propio sistema Windows. Sin embargo, la llegada de los móviles, tablets y otros dispositivos con funciones táctiles y orientados cada vez más al ocio, junto con la nueva manera de interactuar con ellos, pusieron al límite las posibilidades de estas “aplicaciones tradicionales” y se hizo necesario un nuevo enfoque. Una renovación en todos los sentidos, similar a la que experimentó Windows a partir de Windows 8, que mitigara los males heredados por la retrocompatibilidad, que enmendara problema de diseño y proporcionara una línea evolutiva limpia y clara.
[Tweet «Universal Windows Platform: móvils, tablets y todo tipo de dispositivos compatibles en un solo desarrollo vía @bravent»]
En gran medida, esto fue necesario porque las aplicaciones clásicas lastraban una dependencia total con la vieja e intrincada API de Windows (Win32), que con los años se había ido haciendo cada vez más pesada, liosa y, sobre todo, desfasada.
Acorde a los nuevos tiempos, se desarrolló una nueva plataforma de ejecución para un nuevo tipo de aplicaciones. Su misión era aportar todas aquellas nuevas necesidades a las aplicaciones por medio de una API ligera y moderna. Así pues, nació la Plataforma Universal de Windows (UWP), que está destinada a albergar aplicaciones desarrolladas específicamente bajo el nuevo paradigma Windows, que rompía en cierta manera con el pasado y, más específicamente, con la vieja API Win32.
La característica principal de las aplicaciones universales es que iban a correr en todos los dispositivos Windows, tales como tabletas, teléfonos, Windows IoT, HoloLens, Surface Hub… Una misma aplicación podría funcionar en toda una gama de dispositivos Windows sin hacer ni un solo cambio. De ahí lo de “universal”.
[Tweet «Una misma aplicación para gobernarlos a todos: Conoce las UWP vía @bravent»]
Además, esta nueva plataforma añadía APIs específicas que posibilitan cosas como multitouch, introducción de textos mediante trazos (Windows Ink), animaciones, soporte integrado para cambios de tamaños de pantalla… Es decir, una serie de funciones que no estaban presentes en las aplicaciones clásicas.
Las Aplicaciones Universales son aplicaciones destinadas a la Plataforma Universal de Windows.
A priori, podría decirse que son aplicaciones normales y corrientes, porque para el usuario de a pie no se distinguen mucho, y de eso se trata. Sin embargo, hay algunas diferencias esenciales muy beneficiosas para el usuario:
- Se obtienen normalmente de la Tienda de Microsoft, con lo que es más fácil obtenerlas y más seguras.
- Se puede controlar todo lo que hacen con opciones avanzadas de privacidad. Hay un sistema de permisos similar al que podemos encontrar en Android, por ejemplo.
- Las actualizaciones son automáticas.
- Las preferencias del usuario se asocian a su cuenta, por lo que uno puede cambiar de PC y seguir conservando sus preferencias, independientemente del PC o dispositivo donde las use.
- Se pueden comprar aplicaciones de una manera muy sencilla, y una vez comprada, la aplicación se puede instalar en hasta 10 dispositivos del mismo usuario.
Desde el punto de vista del desarrollador, las aplicaciones universales son muy parecidas a las aplicaciones clásicas. La manera de definir la interfaz de usuario por defectos es usando XAML. Cualquiera que haya desarrollado con Xamarin Forms o WPF se encontrará a gusto desarrollando Aplicaciones Universales porque todos los artefactos que se usan son similares. Hay Bindings, hay controles de usuario que a todos nos sonarán, cuyo uso es igual o muy parecido.
Crear este tipo de aplicaciones es muy sencillo y son muy potentes. Con un buenísimo rendimiento, usando .NET en cualquiera de sus lenguajes y preparadas para brindar al desarrollador la mayor productividad. Con muy poco, se puede crear mucho. Esa es la máxima de Microsoft y de las Aplicaciones Universales.
[Tweet «Con muy poco, se puede crear mucho: conoce las claves de las aplicaciones universales de Windows vía @bravent»]
Hay una desventaja de las Aplicaciones Universales, y es que solamente pueden ejecutarse en plataformas Windows.
Sin embargo, en el último año ha surgido un framework muy interesante que se encarga de solucionar esto: Tomando una Aplicación Universal, se encarga de crear el equivalente para iOS, para Android y, atención porque esto es sorprendente: para web. Es decir, la misma aplicación correría en todas las plataformas Windows+iOS+Android+web.
El desarrollador solamente tiene que desarrollar la Aplicación Universal y automáticamente obtiene aplicaciones para todas estas plataformas.
En resumen, hoy más que nunca, conviene saber cómo crear este tipo de aplicaciones por el amplio espectro que vamos a poder cubrir con ellas, además de estar avalado directamente por Microsoft como la plataforma oficial de apps para Windows.