Mobile Zone is brought to you in partnership with:

Alec is a Content Curator at DZone. He lives in Raleigh and spends his free time writing and programming. Alec is a DZone Zone Leader and has posted 500 posts at DZone. You can read more from them at their website. View Full User Profile

Cider: Run Native iOS Apps on Android

  • submit to reddit

Java isn't the only way to build an Android app. In fact, according to the creators of Cider at Columbia University, you can just use an existing iOS app. Cider's announcement page lays out the basics of the tool, which uses "kernel-managed, per-thread personas" to mimic a foreign OS (specifically iOS) on an Android device and allow it to run foreign binaries without any modifications. The result is something like Apportable - iOS apps that run on Android.

The announcement also provides a brief overview of how it all works:

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.

But if that's too wordy, take a video tour:

And if it not's wordy enough, check out the paper written by Cider's team for an in-depth look at the inner-workings. Whatever the case, Cider looks like a pretty interesting tool for iOS developers looking to get a foothold on Android.