There is an obvious technical difference between a protocol like iMessage and the software stack required to run apps. Beeper Mini has shown with tangible proof that an iMessage client on Android exists. Nobody to my knowledge has been able to emulate arbitrary iPhone apps on Android (if they have then let me know, that sounds like an incredible project and I would be fascinated to see how it works).