Windows RT, la versión para tablets ARM de Windows 8 cada vez se pone más interesante. Desde que descubrimos a fondo su jailbreak los desarrolladores no han parado, tomando el siguiente paso: ejecutar aplicaciones de PC en Windows RT, es decir, las aplicaciones de los ordenadores clásicos.
Se trata de un emulador que traduce las llamadas que las aplicaciones hacen a las funciones y recursos del sistema de Win32 (nombre de la API de un PC con arquitectura de 32 bits en Windows) a la forma ARM, dicho a grandes rasgos y sin entrar en tecnicismos. Obviamente se trata de un alpha para desarrolladores, pero ya es funcional, dentro de sus límites actuales. Si esto se desarrolla a niveles realmente usables, tablets como la Asus Vivo Tab RT cobrarían mucho más valor, fuera de la discusión de si tiene sentido o no ejecutar aplicaciones de PC en Windows RT en lugar de usar las de la tienda de Windows, optimizadas para estos dispositivos.
La idea no es nueva, ya que el mismo desarrollador logró esto mismo para núcleos CE, los de Windows Mobile; esta aplicación no es la anterior portada, pero sí que está basada en las mismas ideas a nivel técnico.
De hecho, una vez aplicado el jailbreak, la ejecución de este método es sencillo:
Descargamos los archivos necesarios.
Descomprimimos los archivos.
Ejecuta _start_clock.cmd
De momento la demostración de su funcionalidad es muy sencilla, siendo una aplicación de reloj, aunque también se puede jugar al Might and Magic 3, pero no esperes que el juego sea fluido, ya que se trata de una prueba de concepto, la implementación optimizada vendrá luego, aunque en aplicaciones que requieran mucho procesamiento seguirá siendo preferible recompilar el código fuente de las aplicaciones para que sean nativas de ARM y ejecutarlas sencillamente con el método del jailbreak, si bien la idea general de que algo nativo tendrá mejor desempeño que algo emulado, también entran en juego otros aspectos interesantes, como el tiempo de apertura de la aplicación, menor uso de batería, transparencia en llamadas, uso de memoria, etc.
Otra de las opciones que se manejó para poder ejecutar aplicaciones de PC en Windows RT es usar una de las partes claves del desarrollo del software: un proceso que tiene como parámetro un ejecutable, dando como resultado una capa de compatibilidad, vamos a explicarlo: los desarrolladores estarán familiarizados con un depurador, que no es más que un proceso que toma un programa como parámetro y lo ejecuta en su ámbito, esta idea aplicada en este contexto vendría a sustituir el mensaje de error de «Windows no puede ejecutar esta aplicación» que Explorer da cuando intentas ejecutar algo que no está compilado para ARM por una capa de compatibilidad ideada para este caso, algo parecido a WINE para Linux.
El problema de este último caso es que no cubriría casos esenciales dentro del ciclo de vida de la aplicación o el funcionamiento de la misma, como lanzar cosas manualmente desde la línea de comandos de Windows, un programa que lanza a otro o lanzar servicios de Windows, si es que estos últimos se logran emular también, además de tener repercusiones bastante mayores en la vida de la batería..