Microsoft has launched a free-to-download interoperability pack to help developers convert existing iOS applications to Windows Phone. But don't get too excited - the result is not as impressive as you might imagine.
If you think about it for even a few moments then it is obvious that one way that Microsoft can pick up some easy apps for its Windows Phone (WP) is to create a converter that reads in an iOS app and spits out a WP Silverlight/XNA app and this is exactly what they haven't done.
What they have done amounts more to encouragement than anything really helpful. The have put together a free to download package of things that might make it a bit easier to convert an iOS app to WP.
The items in the download include a 90-page guide to converting your iOS to WP and a series of "developer stories" - videos of developers talking about how they ported their iPhone apps to WP including why they did it.
The biggest and most useful item in the package is the API mapping tool. This simply takes iOS API calls and lists the nearest equivalents under WP - classes, events and methods are covered. This is undeniably useful but of course it doesn't provide a perfect or automatic solution simply because the structure of the frameworks involved is different. However there are plenty of simple, easy-to-devise, one-to-one mappings - and here is the problem. The mapping tool only does the easy bits and leaves the difficult reimplementation to the programmer. It's a welcome help but not a solution to anything and I doubt it is going to get iOS programmers to convert their programs any faster than they might already have done.
If you would like to try it out there is an on-line version at: http://wp7mapping.interoperabilitybridges.com/.
If you would like to download the entire package:
You might also guess, correctly, that the next step is to create the same sort of package for Android to WP conversion.
I don't think Microsoft has any idea how alien an environment Silverlight and XNA are to a non-.NET programmer. Currently the biggest asset that Microsoft has with Windows Phone is that any .NET programmer finds it easy to move over and create applications but iOS and Android programmers don't even speak the same language as a .NET programmer - Objective C and Java respectively.
Putting together conversion help packages is no bad thing to do but expecting it to have any noticeable effect is just silly. It also raises the question of why Microsoft, with all its amazing resources, doesn't attempt to build a cross compiler for either or both Android and iOS. It is entirely possible in theory and with the amount of effort Microsoft could muster it should be possible.