Xamarinは.NETライブラリをスキャンする無料のオンラインサービスであるXamarin Mobility Scannerを発表した。これを使って、ライブラリをAndroid, iOS, Windows Phone、Windows Storeに移植するのに必要な工数を評価することが出来る。
このサービスは、.NETアプリケーションをXamarinのクロスプラットフォームソリューションを使って3つの最も重要なモバイルプラットフォームに移植することに興味がある会社には役に立つ。このサービスは、提供された.exeと.dllファイルにある全てのメソッドを繰り返し見て、対応するクロスプラットフォームのメソッドが無いものをリストに上げる。
我々は2つのプロジェクトでサービスを試してみた。JSON.NET, .NET-JSON シリアライザーでほとんどGUI用のコードが無い、それとWindows XP Snipping Tool, 小さなGUIを多用した.NET ツールである。結果は以下のようになった。
JSON.NET
Android 用の意味は、JSON.NET コードの98% がAndroid向けに使える、ということである。失った 2% は非互換なメソッドに依存した型を表している。面白いのは、Windows Storeと Windows Phoneのほうが Android と iOSに比べて移植可能なコードの割合が少ないことである。
Windows XP Snipping Tool
この場合樽は殆ど空で、互換のあるメソッドがずっと少ないと思えるのと、このアプリがGUIを多用していることを考えると、 Xamarin はアプリケーションのビジネスロジックを構築するのには役立つが、UIは各プラットフォーム用に別々に開発する必要がある、ということである。
レポートには、4つ全てのプラットフォームで使用できない非互換なメソッドの全てとそれらを呼ぶ全メソッドがリストされる。サービスはまた、書き換えずにアプリケーションを移植した場合にセーブできる時間を計算している。どんな公式を使っているかは何も触れられていないが、おそらく見つかった互換性のあるメソッド数に1メソッドあたり平均で必要と考えられる一定時間(分)をかけたのだろう。
Xamarinによれば、 バイナリはXamarinにアップロードされずに、ブラウザでローカルに評価される。しかし分析結果(名前と非互換なメソッド数)は、彼らのウェブサイトに送られる。