I converted the ObjC to java utilizing a home grown tool, it doesn't spit out perfectly compilable code, but good enough that a few hours of tweaking and fixing a few oddities (grand central dispatch) it was all working flawlessly. Using SQLite as the data store and avoiding CoreData was a big help, just custom data type objects and custom reader code (I did have to write a custom class to map the cursor reading the data in java). Process would be the same for Windows phone as well. Now, the trouble is, you make a change to business logic on one platform you need to make sure it is representative across all of them...