There are always a few good iOS apps that we’ve wanted on Android and we’ve never been able to run them. It’s either because of the developer not wanting to develop for Android and a lack of compatibility between the code.
Now a few Columbia University students have created a compatibility layer to get iOS apps onto Android they call “Cider.” It’s not an emulator, it’s a native layer that allows native apps to run on Android. In this instance, the students are demoing the apps on an original Nexus 7.
As you can clearly see, it’s very much a proof-of-concept right now, with apps having performance issues and no GPS or Cellular access. But they will probably continue to be improved. Here is how the students say it works:
“Cider enhances the domestic operating system, Android, of a device with kernel-managed, per-thread personas to mimic the application binary interface of a foreign operating system, iOS, enabling it to run unmodified foreign binaries. This is accomplished using a novel combination of binary compatibility techniques including two new mechanisms: compile-time code adaptation, and diplomatic functions.”
“Compile-time code adaptation enables existing unmodified foreign source code to be reused in the domestic kernel, reducing implementation effort required to support multiple binary interfaces for executing domestic and foreign applications. Diplomatic functions leverage per-thread personas, and allow foreign applications to use domestic libraries to access proprietary software and hardware interfaces.”
For most of you, that also probably went over your heads. But while this is also cool, it might not ever be released due to ensuing legal problems that would arise. Still, it’s really cool to see this work.