There are a lot of very popular apps out there that have versions specifically designed for Android and versions specifically for iOS. With apps for both platforms, fans can get the apps they want. However, there are times where developers will make a slick app for iOS that might not be available for Android.
A group of researchers at Columbia University has designed a new compatibility architecture called Cycada that will allow iOS apps to run natively on Android devices. Cycada was previously called Cider and it doesn't need virtual machines or compatibility layers that slow devices down to get the iOS apps running.
Cycada uses a method called compile-time code adaptation that lets them build code meant to run on other operating systems on a Linux platform without modifications. Linux, as you may know, is the base for Android. The developers use something they call diplomatic functions to replace iOS system functions. The team behind Cycada includes computer science professor Jason Nieh and five Ph.D candidate students.
While this all sounds pretty good, there are some big caveats right now. The major caveat is that Cycada hasn't been launched for the public yet. We also don’t know how Apple will feel about apps design for its iOS devices being run on Android. Presumably, Apple will take issue with this and there could be some sort of terms of service violation here.