New trend in the mobile era?! - Install iOS apps on your Android phone
June 17th, 2014
Posted by Mihajlo Kitanoski - Founder, Owner and CEO at CENTROG Information and Communication Technologies
Follow me on:
Developing iOS apps has always been separated from developing
for Android and that has been creating headaches for developers
since the beginning of the mobile era. But that may just about
to chance with this useful new app prototype called Cider.
Like many other newsworthy remarkable solutions Cider is also
developed by a group of young students at Columbia University. What is Cider?
Cider is OS compatibility architecture capable of running iOS apps on Android. Rather than using a virtual machine, Cider runs domestic and foreign binaries on the same device. This basically means that Cider can copy the libraries and frameworks it needs and convince an app’s code that it is running on Apple’s XNU kernel rather than Android’s Linux kernel. The students behind the app have explained their project in full detail on Columbia University’s website, sharing some of the secrets of this useful app.
Cider is the first system that can run iOS apps without modifying them on non-Apple devices. It accomplishes this through a rich combination of binary compatibility techniques including two new operating system compatibility mechanisms: duct tape and diplomatic functions. Duct tape allows source code from a foreign kernel to be compiled, without modification, into the domestic kernel. This avoids the difficult, and error prone process of porting or implementing new foreign subsystems. Diplomatic functions leverage per-thread personas and mediate foreign function calls into domestic libraries. This enables Cider to support foreign libraries that are closely tied to foreign hardware by replacing library function calls with diplomats that utilize domestic libraries and hardware. We built a Cider prototype that reuses existing unmodified frameworks across both iOS and Android ecosystems. Our results demonstrate that Cider has modest performance overhead and runs popular iOS and Android apps together seamlessly on the same Android device.
This means that it would be safe to expect that (given that new smart phones adapt this new feature as a built in) pretty soon developers may be creating a single app for all platforms. That would be pretty convenient wouldn’t it?
Still, this useful iOS app is still a prototype, and its implementation leaves a lot to be desired. The students who developed it note that smart phones and tablets have many features that the app still can’t do (GPS, cameras, cell phone radio, Bluetooth, and so on). Cider still can’t run these, and iOS apps that require them will fail to function unless they provide a fallback code path. The good news is that the six students plan to continue their research and will keep developing this useful iOS and android app.