Repasamos todas las preguntas sobre UWP que podrías tener.
Todo
el mundo habla de UWP, y no siempre en buenos términos. La plataforma
de Microsoft se ha ganado algunos aliados y varios enemigos, y en estos
momentos probablemente sea la parte más polémica de Windows 10, aunque para el usuario medio realmente no parece haber muchas diferencias.
En cambio, hay otras personas que creen que UWP representa el mismo
cambio periódico que hemos visto durante décadas. Las estaciones cambian
igual que las plataformas, y todo esto ya ha pasado y volverá a pasar.
Las preguntas sobre UWP que ya podemos responder
¿Qué es UWP?
UWP significa Universal Windows Platform, “Plataforma Universal de
Windows”, y es el concepto de Microsoft para la creación y uso de
aplicaciones. Es un concepto que
no oculta su inspiración en las plataformas móviles, como iOS y Android.
La proliferación de apps para estos sistemas mandó un mensaje a Microsoft:
los programas ya no están de moda, lo que se llevan son las “apps”. Así que sus ingenieros se dedicaron a crear una plataforma semejante, y así, con Windows 8, UWP fue presentado.
La plataforma UWP está compuesta de varias partes, desde un nuevo
tipo de archivo contenedor (.appx sustituye al veterano .exe), hasta una
nueva API para desarrolladores.
¿Qué es una API?
Cuando un programador crea un programa, no escribe absolutamente todo
el código necesario, porque si no tardaría diez veces más en terminar.
Las funciones más comunes, sobre todo las que requieren acceder a
diferentes partes del sistema, son accesibles usando una API.
Por ejemplo, pongamos que estoy escribiendo un programa que crea un
archivo en el directorio personal del usuario. Pero, ¿cómo se cuál es el
directorio personal? En Windows, esta carpeta tiene un nombre diferente
dependiendo del nombre del usuario. En vez de complicarme la vida
buscando detalles como ese, puedo simplemente llamar a una función de la
API que me de la dirección de la carpeta personal del usuario, y a otra
función que escriba el archivo por mí.
Por lo tanto,
cuanto mejor sea la API, más fácil y accesible será programar para ese sistema.
Por lo tanto, está en los intereses de Microsoft crear una API que los
desarrolladores puedan usar para crear programas, y mejorarla con el
tiempo.
¿Qué opciones había hasta ahora en Windows?
Como Microsoft tiene control sobre Windows, sólo las API que
libera pueden ser usadas para crear programas para Windows. En la
actualidad, hay dos opciones; UWP es la más nueva, pero también está
win32, llamada así porque fue diseñada para ordenadores de 32 bits.
La inmensa mayoría de los programas que usas en Windows acceden a la
API de win32, y es una de las plataformas más veterana del mercado, si
tenemos en cuenta que en realidad
win32 fue una evolución de win16, para procesadores de 16 bits
Que win32 sea tan viejo tiene sus puntos positivos: es una plataforma
bien probada y conocida, muy estable y en la que no te vas a encontrar
sorpresas, básicamente lo mejor que le puedes decir a un programador.
Pero por otra parte,
con los años se van notando las limitaciones de win32, y cada vez está más claro que no es una plataforma para el futuro.
¿Puedo seguir usando Win32?
Sí, las aplicaciones win32 siguen siendo soportadas en Windows 10, y
lo seguirán estando durante mucho tiempo. La duda está en el futuro.
¿Qué futuro tendrá Win32 con la llegada de UWP?
Según Microsoft,
la llegada de UWP no supone el fin de win32.
Sin embargo, cada día parece más claro que ese es un mensaje dirigido a
calmar a los desarrolladores para que no abandonen Windows en tropel.
Todo el mundo acepta que win32 no durará para siempre, la duda es si
la plataforma que le sustituya estará a la altura. Para muchos
programadores,
UWP no es el verdadero sucesor de win32.
¿Es mejor una app en UWP o en Win32?
Depende de lo que estés buscando.
Las aplicaciones win32 son lo que comúnmente llamamos “programas”, es decir, suelen ser más completos y potentes, pero también más complicados.
Las aplicaciones UWP en cambio son “apps”,
se obtienen en la Tienda de Windows y están dirigidas a una nueva
generación de usuarios que vive con el smartphone pegado a la mano, y
por lo tanto son aplicaciones más simples y directas.
Imagina que UWP es un coche normal y win32 es un todoterreno. Con el
segundo puedes ir por donde quieras, o coger la carretera, pero la
verdad es que la mayoría de la gente se conforma con ir por carretera,
ignorando los caminos de tierra.
¿Qué diferencias ofrece UWP en materia de seguridad?
Normalmente, cuando ejecutamos un programa este tiene acceso a todo
el sistema; gracias a eso puede ofrecer más posibilidades y ser más
potente, pero eso implica que los virus pueden tocar archivos que no
deberían, cambiar la configuración del sistema y en definitiva, ser un
desastre.
En cambio las apps UWP se ejecutan en lo que se conoce como un “sandbox”, o una caja de arena, en la que
no tienen acceso a las partes críticas del sistema.
Un sandbox es un mecanismo que limita lo que la app “puede ver” cuando
se ejecuta; y si no lo puede ver, no lo puede tocar y cambiar.
Esto se controla con un sistema de permisos. Aunque no hayas usado
ninguna app de la tienda de Windows, seguro que has tenido que dar
permisos a una app de iOS o Android; en el caso de UWP es lo mismo,
no es capaz de hacer nada con la webcam si tú no le das permiso para usarla, por ejemplo.
¿Qué diferencias tiene UWP en el aspecto de las apps?
UWP introduce nuevos controles y herramientas para la interfaz, por
lo que podríamos pensar que todas las apps son iguales. No es así, la
plataforma permite la creación de interfaces personalizadas, pero hasta
ahora los diseñadores han preferido optar por el aspecto de las apps
oficiales de Microsoft, que quedan mejor en smartphones.
Pero la verdad es que con UWP podemos crear programas con el estilo clásico de Windows.
¿Qué significa que UWP sea una app universal?
Eso significa que los desarrolladores sólo tienen que preocuparse en
crear el código para su aplicación, sin importar dónde se vaya a
ejecutar.
Esta idea realmente ha tomado forma con Windows 10, que permite
ejecutar apps universales que comparten el mismo código entre PC,
smartphone y tablets. Para el programador, es trabajo que se ahorra, y
para el usuario, es la comodidad de usar la misma app sin importar el
dispositivo.
¿Significa eso que puedo ejecutar apps UWP en cualquier dispositivo con Windows?
Sí y no. Aunque los programadores pueden hacer que las apps sean universales,
no están obligados a ello.
Ya hay varios casos de apps universales que sólo están disponibles en
un tipo de dispositivo: por ejemplo, la app de Instagram sólo está
disponible para smartphones, no para PC, aunque técnicamente sería
posible ejecutarla en el escritorio.
Windows 10 recibe su mayor apoyo con las apps oficiales de Messenger, Facebook e Instagram
Hoy se produce el
lanzamiento de las nuevas apps de Facebook para Windows 10,
completamente renovadas y apostando por las nuevas funcionalides del
sistema.
¿Estoy obligado a usar la tienda de Windows si quiero usar apps UWP?
No.
Es posible descargar y ejecutar las aplicaciones que te bajes en formato .appx
desde que el noviembre pasado Microsoft implementó esa posibilidad en
Windows 10. Hasta entonces la única manera de conseguir apps era con la
tienda oficial.
Si te has descargado una app y no puedes ejecutarla, es posible que
no tengas configurada bien esta funcionalidad. Para comprobarlo, abre
Configuración, entra en “Actualización y seguridad” y en “Para
programadores” activa “Efectuar instalación de prueba de aplicaciones”.
He escuchado que los juegos que se venden en la Tienda de Windows son peores, ¿qué limitaciones tiene UWP para los juegos?
Las limitaciones de UWP son las que uno podría esperar de apps para
smartphone, y eso es un problema para los videojuegos, que
tradicionalmente siempre han necesitado un mayor acceso al sistema. Por
eso UWP se ha llevado muchas críticas, especialmente de personalidades
como Tim Sweeney, de Epic Games, que ha acusado a Microsoft de intentar
crear un “jardín vallado”, un sistema cerrado en el que sólo Microsoft
tenga el poder.
Aunque Microsoft ha respondido a esas críticas asegurando que quiere
que Windows siga siendo una plataforma abierta, lo cierto es que
UWP impone restricciones a los programadores y jugadores que no habíamos visto nunca.
Entre estas restricciones nos encontramos:
- Incompatible con sistemas con más de una tarjeta gráfica.
- Obligación de usar v-sync (sincronización vertical), lo que empeora el rendimiento del juego si vamos justos.
- No se pueden instalar mods en los juegos, por el sistema de seguridad integrado en UWP.
- No es posible usar programas que permanezcan encima de la ventana del juego, como fraps o Steam.
- El juego se tiene que ejecutar obligatoriamente en ventana a pantalla completa. Esto afecta seriamente al rendimiento.
Representantes de Microsoft han salido al paso de las críticas,
prometiendo que saben que los jugadores esperan más de la plataforma, y
que
están trabajando en mejorar UWP con todas las sugerencias. Pero hasta que estas mejoras lleguen, UWP en la actualidad es una plataforma muy mala para los videojuegos.
Vayamos a lo importante, ¿tiene futuro UWP?
Es difícil responder a esa.. A diferencia de lo que pueda parecer, el
futuro de UWP no está ligado al de Windows 10. El sistema operativo de
Windows puede triunfar, y UWP fracasar estrepitosamente. Eso es porque
win32 es algo que todavía existe y sigue siendo la plataforma más usada
en todo el planeta.
La clave es que
UWP no puede sustituir a win32 aunque quiera,
porque no ofrece las mismas posibilidades ni a los desarrolladores ni a
los usuarios. Partiendo de esas limitaciones, UWP está en una situación
complicada: es ideal para smartphones y tablets, y cada vez hay más
compañías que confían en UWP para aplicaciones de escritorio, pero la
mayoría de programas que usas siguen siendo win32, y eso no va a
cambiar.