Desde la llegada de Windows 10 como la nueva plataforma de sistema operativo de Microsoft, se habló de las aplicaciones universales de Windows, estas aplicaciones que pueden ejecutarse en una diversidad de dispositivos que tengan Windows 10 instalado.

Uno de los aspectos que más llamó la atención fue la portabilidad de código escrito en lenguajes de programación no Microsoft para ejecutarse directamente en Windows 10, e incluso de sitios web y aplicaciones Win32 que se pueden convertir en aplicaciones universales. Esto resulta de 3 proyectos (a los que llamó fantásticos en el título del blog post) que se vienen trabajando y cuya función es empaquetar y compilar el código de estos lenguajes para mantenerlos operativos en Windows 10, estos proyectos o mejor conocidos como puentes (bridges) son los siguientes:

  • Islandwood – El puente hacia iOS. Este proyecto tiene como objetivo tomar código escrito en Objective-C y empaquetarlo para que se ejecute en Windows 10 como una aplicación universal.

Clic aquí para conocer mas del proyecto Islandwood

  • Westminster – El puente hacia lo Web. Este proyecto tiene como objetivo construir aplicaciones universales tomando como funcionalidad core un sitio web que se encuentra hosteado en algún servidor de internet.

Clic aquí para conocer mas del proyecto Westminster

  • Centennial – El puente hacia aplicaciones Win32. Este proyecto tiene como objetivo construir aplicaciones universales tomando como funcionalidad core,  software de tecnologías escritas en versiones anteriores de .NET.

Clic aquí para conocer mas del proyecto Centennial

Características de los bridges

  • Transformación de código .NET de versiones anteriores para aplicaciones universales.
  • Importación de código no .NET (como Objective-C de Xcode) a Visual Studio y su transformación para aplicaciones universales.
  • Compilación y corrección de errores desde Visual Studio de manera natural.
  • Adición de características, se combinan las funcionalidades ya existentes(ya sea de iOS, programas Win32 o Web Apps) con funcionalidades nativas de Windows 10 como Cortana o los live tiles.

¿Cómo funciona los bridges?

En el caso de Islandwood (bridge iOS), se requieren 3 componentes para que suceda esta portabilidad de código a Windows 10:

  • Compilador Objective-C
  • Runtime para traducción de funcionalidades a UWP (Universal Windows Platform) en Windows 10.
  • Librerías de compatibilidad, que hacen una equivalencia entre API’s de iOS con API’s de Windows 10.
  • Visual Studio, que ofrece interfaces y editores de código correspondiente para lograr esta portabilidad.

Captura

Esta es una demostración oficial de Microsoft tomando código de un juego escrito con Objective-C y generando la aplicación universal de Windows:

En el caso de Westminster (bridge Hosted Apps), solamente se requiere un proyecto de tipo JavaScript en blanco para UWP con la referencia hacia nuestro sitio web que se encuentra hospedado en algún lugar de internet.

Captura2

jsuwp

En el caso de Centennial (bridge Win32), se toma como referencia un archivo de instalación, ya sea un “.exe” o un “.msi”, estos pasan por un software llamado “App Converter” que monitorea el modo de instalación de estos instaladores (librerías utilizadas, recursos generados, cambios en el sistema operativo, etc…) , y después de eso, se genera un nuevo formato con extensión “.appx” listo para la publicación en la tienda de Windows (menciono que el proceso en sí, conlleva un proceso más complejo y que solamente lo menciono de forma general).

El formato “.appx” actúa como un contenedor “sandbox” que encapsula nuestra aplicación Win32 además de darle la posibilidad de tomar características propias de Windows 10 si se desea.

Captura3

Estos puentes o “bridges” se siguen trabajando, por lo que en algunos casos, el proceso de transformación de una aplicación ya sea iOS, Win32 o Web App pudiera ser, que no llegue al 100%  de compatibilidad (de momento).

Descargate a los fantásticos

El bridge iOS es Open Source y puede ser descargable para su analisis y mejoramiento en la comunidad.

Centennial, lo puedes descargar bajo el nombre de “Desktop App Converter Preview” desde la pagina oficial de Microsoft haciendo


Sigueme en Twitter @vmorenoz

¿Te gustó este artículo? Únete a Facebook en MicrosoftLand

Deja un comentario