Run iOS Apps On Android Using Cider Software From Columbia University
Every time you see an awesome app on iOS platform and can't help feeling sad about the app's unavailability on your Android smartphone or tablet, you wish these apps could feature cross-platform compatibility. Well, not exactly that, but a bunch of students from the Columbia University have developed an OS compatibility architecture called "Cider" that can run iOS apps on Android platform. The group including Jeremy Andrus, Alexander Vanât Hof, Naser AlDuaij, Christoffer Dall, Nicolas Viennot and Jason Nieh came together to build Cider such that it can execute apps built for different OSes on the same machine.
The compatibility layer called Cider is able to enhance the domestic operating system (i.e. Android in this case), on a device with kernel-managed, per-thread personas to mimic the application binary interface of a foreign operating system (which is iOS in this case) such that it is able to run unmodified foreign binaries. The computer science enthusiasts have used two new techniques namely - diplomatic functions and compile-time code adaptation as well as one-of-a-king combo of binary compatibility techniques to accomplish this extraordinary feat.
The compile time code adaptation method lets them reuse the existing foreign source code in its raw, unaltered form on some other domestic kernel. This means the implementation effort necessary to support multiple binary interfaces for executing all the apps is significantly reduced. Moreover, the use of diplomatic functions helps them in allowing foreign apps to use domestic libraries (i.e. iOS apps use Android's inbuilt libraries) to access the proprietary software and hardware interfaces. How cool is that?
In the following demonstration video, the team has shown iOS apps running on android (though at a very slow speed). Do take a note that one of the students who wrote this paper - Jeremy Andrus shares that they were able to support GPS and location services after the video was shot.
The demo shows that Cider still has a long way to go in order to become a commercially viable product. What are your thoughts on the new Cider software and how do you think can it be made better? Share your comments with us below.
The compatibility layer called Cider is able to enhance the domestic operating system (i.e. Android in this case), on a device with kernel-managed, per-thread personas to mimic the application binary interface of a foreign operating system (which is iOS in this case) such that it is able to run unmodified foreign binaries. The computer science enthusiasts have used two new techniques namely - diplomatic functions and compile-time code adaptation as well as one-of-a-king combo of binary compatibility techniques to accomplish this extraordinary feat.

The compile time code adaptation method lets them reuse the existing foreign source code in its raw, unaltered form on some other domestic kernel. This means the implementation effort necessary to support multiple binary interfaces for executing all the apps is significantly reduced. Moreover, the use of diplomatic functions helps them in allowing foreign apps to use domestic libraries (i.e. iOS apps use Android's inbuilt libraries) to access the proprietary software and hardware interfaces. How cool is that?
In the following demonstration video, the team has shown iOS apps running on android (though at a very slow speed). Do take a note that one of the students who wrote this paper - Jeremy Andrus shares that they were able to support GPS and location services after the video was shot.
The demo shows that Cider still has a long way to go in order to become a commercially viable product. What are your thoughts on the new Cider software and how do you think can it be made better? Share your comments with us below.
Source: <a href="https://systems.cs.columbia.edu/projects/cider/" target="_blank" rel="noopener noreferrer">Page Redirection</a>
0