Menú principal

jueves, 15 de mayo de 2014

El Proyecto Cider lleva apps de iOS a dispositivos Android

El Proyecto Cider ha sido llevado a cabo por 6 estudiantes del Departamento de Ciencias de la Computación de la Universidad de Columbia. Este proyecto proporciona una arquitectura de compatibilidad a nivel de sistema operativo capaz de ejecutar aplicaciones de iOS en dispositivos Android.

En vez de utilizar una máquina virtual de manera estricta, lograron ejecutar binarios distintos en el mismo dispositivo, lo que ha generado mucho revuelo en el sector. Para conseguir esta ejecución aprovechan técnicas de compatibilidad binaria, como por ejemplo la adaptación de código en tiempo de compilación y las funciones que se pueden encontrar en ambos sitios.

La adaptación de código en tiempo de compilación permite modificar el código fuente de la aplicación a exportar con el objeto de ser reutilizado en el núcleo interno del sistema destino. De esta forma se produce una reducción en el esfuerzo de implementación necesaria para soportar múltiples interfaces de binarios en ejecución de aplicaciones nativas y de otro sistema existentes. Esto quiere decir que Cider puede copiar bibliotecas y frameworks que se necesitan y ajustar el código de una aplicación que se ejecuta en un Kernel XNU de Apple para un Kernel Linux de Android.


Figura 1: Prueba de concepto de Cider

En este video se muestra una prueba de concepto con un Nexus 7 en el que Cider permite ejecutar aplicaciones de iOS como es iBooks. El rendimiento no es el mejor, pero esto es algo normal ya que la optimización de código no es idónea en un proceso de este tipo. Sin embargo, se marca un nuevo campo en el que la compatibilidad de aplicaciones entre iOS y Android ha aumentado, viendo la traducción y ejecución nativa como una hazaña que tenemos que tener en cuenta.

Figura 2: Arquitecturas de Android e iOS

Estos estudiantes presentaron una ponencia en la cual presentaron la arquitectura y el método que utilizan para lograr este resultado. Además, se hizo hincapié en algo que siempre ha llevado consigo los frameworks que permiten compatibilidad entre plataformas. En este caso explicaron, como cuentan en TNW, que se introduce sobrecarga en el rendimiento, aunque es una pequeña cantidad.

La última parte es especialmente importante, ya que comentaron que las apps de Android siguen funcionando incluso con la capa de abstracción del sistema operativo. Los estudiantes comentaron que no han encontrado ningún tipo de limitación respecto a la compatibilidad aunque todavía es solo un prototipo y la implementación es incompleta. Señalaron que los smartphones y tablets tienen muchas características que las aplicaciones esperan poder utilizar, como son el GPS, cámaras, radio, Bluetooth, etcétera.

Figura 3: Arquitectura Cider

Parece que el proyecto sigue muy vivo, y planean una evolución y mejora del mismo, donde habrá que esperar a ver cómo gestionan cosas como los permisos de seguridad, ya que los modelos que usan Android e iOS son bastante diferentes.

No hay comentarios:

Publicar un comentario en la entrada

Entrada destacada

En el futuro iPhone podrá recopilar biometría y fotos de los ladrones

Apple ha obtenido una patente el pasado jueves en la que se describe un método de almacenamiento de datos biométricos de un usuario no...

Otras historias relacionadas

Entradas populares