Grupo Linuxero del Bajío

Ejecución de aplicaciones entre distintas plataformas sin necesitar recompilación

Marco Antonio Zúñiga Martínez

Joven empresa informática afirma haber desarrollado tecnología para la ejecución de aplicaciones entre distintas plataformas sin necesitar recompilación

De ser cierto este anuncio, supondría el hallazgo de uno de los griales del mundo de la informática.

Transitive Technologies Ltd. es una compañía nacida en el año 2000 y que cuenta con sedes en Manchester (Reino Unido) y Los Gatos (California, Estados Unidos) y que recientemente ha anunciado poseer una tecnología revolucionaria que en teoría permite ejecutar una aplicación pensada, escrita y compilada para una plataforma hardware determinada en otra totalmente diferente sin mediar ninguna técnica de emulación y con un rendimiento y velocidad cercanos al 80% de si la aplicación fuera nativa de esa misma plataforma.

Este anuncio ha sido hecho en el website de la propia compañía, y hasta ahora no han trascendido detalles técnicos, pero si una fecha aproximada para su lanzamiento: finales de este año. Si este producto llegase a ser vaporware (producto o servicio que es anunciado pero que en realidad nunca es lanzado porque, simplemente, no existe, o las dificultades en la fase final de su desarrollo terminan por "matar" el proyecto), los responsables de Transitive tendrían muy poco margen de maniobra en tan poco tiempo.

La ejecución de aplicaciones en cualquier plataforma hardware/software independientemente de aquella en que han sido escritas y desarrolladas es una de las metas de la informática actual. Una primera aproximación serían los emuladores, algunos de los cuales nos permiten, por poner unos ejemplos, ejecutar aplicaciones de Windows en una computadora Macintosh (Virtual PC) o viceversa (Basilisk II). No obstante, el principal problema de los emuladores es que introducen una fuerte penalización de tiempo en la ejecución de los programas, ya que deben realizar la traducción entre plataformas, por lo que en la mayoría de los casos no son considerados como herramientas de trabajo válidas.

Una segunda aproximación a este sueño de compilar una vez y ejecutar en cualquier máquina sería el lenguaje Java, cuyo "leit-motiv" es, precisamente, este. Gracias a Java, un programador solamente debe preocuparse por el correcto funcionamiento de su aplicación en la plataforma de desarrollo, ya que se compila a un código intermedio llamado Bytecode que posteriormente puede ejecutarse en cualquier dispositivo independientemente de su sistema operativo, siempre y cuando cuente con una máquina virtual Java (JVM) instalada.

Nuevamente la ejecución de las aplicaciones Java se penaliza con algún tiempo de retraso (afortunadamente cada vez menor), pero aún importante en cierto sentido, ya que el Bytecode debe ser traducido por la JVM a código interpretable por la arquitectura hardware/software del dispositivo huésped.

La respuesta de Transitive a este problema ha sido la traducción del código binario de la aplicación, tecnología denominada dynamic binary translation, traducción que se realizaría en el momento de la ejecución y que, por lo tanto, no requeriría un acceso directo al código fuente del programa. Transitive afirma que el método es independiente del tamaño y complejidad de la aplicación, siendo susceptibles de traducción tanto las aplicaciones de usuario final como las grandes aplicaciones corporativas.

En su página web, Transitive afirma que ha desarrollado esta tecnología para máquinas basadas en procesadores MIPS, x86, ARM/Xscale, PowerPC e Itanium.

Si es así, y funciona tal y como Transitive afirma, se conseguiría virtualizar en cierta forma la idea de sistema operativo, permitiéndonos trabajar con la arquitectura hardware/software que más nos interese o guste, ejecutando cualquier tipo de aplicación en cualquier máquina. No hay ni que decir que esto último puede no interesar a alguna compañía fabricante de software, que podría ver sus aplicaciones siendo ejecutadas en los sistemas operativos de la competencia, tenidos entre algunos por más robustos y seguros.

Más información:

SD Times: News & Top Stories http://www.sdtimes.com/news/085/story10.htm

Explicación de la tecnología de Transitive http://www.transitives.com/technology.htm

Fuente: http://diariored.com/blog/000487.php