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

Entrada destacada

Proteger tu cuenta de Google y de Gmail con Latch Cloud TOTP #Latch #Gmail #Google

La semana pasada se liberó la nueva versión de Latch y nuestro compañero Chema Alonso hizo un repaso de todo ello en su artículo Latch...

Otras historias relacionadas

Entradas populares