Xamarin は Mono の MIPS への移植作業を完了した。ARM 版に加えて,MIPS アーキテクチャ上で動作する Mono for Android の提供を開始する。
C# と CLR のオープンース実装である Mono はこれまで,さまざまなアーキテクチャに移植されてきた。x86 や x86-64-bit,ARM,I64,PowerPC,SPARC 32 などはよく知られているが,その他にも,利用度が低く現在はメンテナンスされていない Alpha および HPPA 版がある。さらにバージョン 1.2.1 以降,MIPS アーキテクチャに移植する試みが続けられてきていた。
MIPS Technologies は Android 4.0 を自社のプラットフォームに移植して, MWC 2012 の期間中に多数の低価格デバイスを発表した。インドネシアでローンチされたわずか33ドルの ICS タブレットや,中国で100ドル以下の製品などである。それらのデバイス上で C# アプリケーションを開発可能にするため,iOS と Android を対象にしたクロスプラットフォーム Mono アプリケーション開発ツールを提供する Xamarin は,MIPS と協力して 同社の Mono for Android を MIPS アーキテクチャで動作させる開発を続けてきた。
MIPS 移植に関する詳細について,Xamarin の CTO である Miguel de Icasa 氏が説明してくれた。
私たちは MIPS への移植を完了しました。着手から4~6年経ちますが,旧バージョンの Mono では完成しなかったものです。
その頃から Mono は内部的にかなり変更されているので,MIPS をサポートする開発もその都度やり直さなければなりませんでした。しかし最も重要なのは,すべてのテストスイートをパスするような,完全な移植を行うことだったのです。これまでの作業で,基本的な部分はすでに動作可能になっていました。しかし製品としてリリースするためには,移植版が Android デバイスのような組込デバイスで使用する小さなオペレーティングシステムから,サーバコンピュータのような大規模な用途に至るまで,Mono ランタイムの全機能をサポートしていることの確証が必要だったのです。
これが低消費電力プロセッサに対して,新たな関心を市場に呼び起こすものと思います。
MIPS 版には Mono テストスイートをすべてパスした完全な JIT が同梱されているが,AOT はサポートされていない。da Icaza 氏はその理由として,"一般的にはデスクトップへの展開,あるいはiPhone やゲームコンソールなどのロックダウンされた環境で使用される技術であること,JIT エンジンの実行に不利であること" を挙げている。