Xamarin has announced the availability of Xamarin Mobility Scanner, a free online service for scanning .NET libraries in order to evaluate the effort needed to port them to Android, iOS, Windows Phone and Windows Store.
The service is useful to companies interested in porting their .NET applications to the three most important mobile platforms using Xamarin’s cross platform solution. The service iterates through all the methods found in .exe or .dll files provided, listing those for which there was no corresponding cross-platform method.
We have tried the service with two projects: JSON.NET, a .NET-JSON serializer with little GUI code, and Windows XP Snipping Tool, a small GUI intensive .NET tool. The result were:
JSON.NET
98% for Android means that 98% of JSON.NET code is ready for Android. The missing 2% represent types depending on incompatible methods. It is interesting to notice that Windows Store and Windows Phone have lower percentages of code ready to be ported than Android and iOS.
Windows XP Snipping Tool
The barrels are pretty empty in this case, the smaller number of compatible methods being expected considering that this application is GUI intensive and Xamarin helps building the business logic of an application, the UI having to be developed separately for each platform.
The report includes the listing of all the incompatible methods that are not available on all 4 platforms, and all the methods calling them. The service also computes the amount of saved time in case of porting the application instead of rewriting it, without saying what formula it uses. Perhaps it multiplies the number of compatible methods found with a certain number of minutes considered necessary on average per method.
According to Xamarin, the binaries are not uploaded to Xamarin but rather evaluated locally in the browser. But the results of the analysis – the name and the number of incompatible methods – is sent to their website.