What initially looked like a hoax has turned into something of a phenomenon. BlackBerry PlayBook developer businesscat2000 has managed to compile iOS apps to work on the PlayBook. He claims that because the two systems share a basic ARM-based architecture, it’s possible to render specific open libraries such as OpenGL:
The CPU isn’t emulated on Playbook (though it is on Windows). It works very similarly to how WINE works to run Windows applications on Linux. The app binary is mapped into memory and imports are resolved to point to my own implementation of the various APIs needed. iOS actually uses a few open APIs already, which Playbook supports just as well (GL ES, and OpenAL). The bulk of the work has been in implementing all of the objective C classes that are required. The ARM code of the applications run as-is – the armv6/v7 support on PB/iDevices are pretty much identical, and the code is designed to run in USR mode. No SWIs, GPIO accesses or any of that kind of shenanigans.
If that’s a lot of tech jargon, consider this: no one has been able to successfully render iOS apps outside their native environment without the explicit support of Apple. It would appear that by transferring these applications to PlayBook he is violating Apple’s Rules & Regulations around the iTunes Store (all apps must be distributed through the store) so, unlike PlayBook’s official Android Player, these are not sanctioned.
Nevertheless it’s a fantastic tech demo for what could be the future of cross-platform application development. The PlayBook and its underlying QNX operating system has always been lauded for its wide-ranging compatibility and this is just more proof of that. Check after the break for a demo video.