Novell から Mono for Android が発表された。Visual Studio で Android 用アプリケーションを作りたいと考える .NET 開発者のためのツールだ。同梱される MonTouch 4.0 には Mono core 2.10,Paralell Frameworks for C#,LLVM コンパイラサポート,.NET 4.0 サポート,その他が含まれる。
以前 MonoDroid と呼ばれていた Mono for Android は,.NET 開発者が Windows 上の Visual Studio あるいは Mac 上の MonoDevelop を使って,Android アプリケーションを開発するために作られた。Mono 2.10 をベースに Android ネイティブ API のバインディングと Visual Studio 用プラグインを備え,さらにプロジェクトの初期生成からシミュレータ,デバイス,あるいは Android Market に配信するまでのプロセスの簡略化に必要なツールをパックした SDK が添付されている。
iOS 用の同様な開発ツールである MonoTouch との大きな違いは,Android が完全な JIT コンパイルをサポートしている事実にある。これが iOS や Windows Phone 7 に対するアドバンテージとなっている,と Mono プロジェクトの創設者である Miguel de Icaza 氏は指摘する。
つまり Android 上で Mono を使用する開発者は,System.Reflection.Emit への完全なアクセスが可能なのです。その結果として,F# のようなジェネリックを多用するコードや,あるいは動的言語ランタイム(Dynamic Language Runtime,DLR) 上で動作する IronPython や IronRuby,IronJS などの 動的言語 が Android で動作することになります。
Mono for Android は Novell から購入 可能だ。価格は Enterprise Edition が開発者あたり1年契約 999 ドルで,メンテナンスとアップデートの費用が含まれている。5人が同時作業可能な5開発者ラインセンスは 3,999 ドル/年,Professional Edition は 399 ドル/年である。
同時に Novell は,.NET 開発者用 iOS 開発ツールである MonoTouch 4.0 をリリースしている。Miguel de Icaza 氏は,自身が "メジャーアップデート" と呼ぶ 最新バージョンの機能について,その概要を次のように説明する。
- Parallel Frameworks for C#: マルチスレッドソフトウェア構築のための優れた API。
- LLVM コンパイラのサポート: 高速な Mono コンパイルエンジンに加えて,MonoTouch では LLVM を使用した最適化ビルドの生成も可能である。
- C# 4.0 と .NET 4.0: 今回のリリースでは,最新の C# 言語自体に加えて,新しい .NET 4.0 API (System.IO で IEnumerable が適用可能なすべてのメソッドなど数多くの新機能によって,より美しいコード記述が可能となっている) も提供される。ただし重要な制限がひとつある – コードの動的生成を必要とするため,C# 4.0 の動的機能サポートは動作しない。
- 更新された WCF スタック: これは最終的な WCF のプレビュー版だと思われるが,それでも大幅な拡張が行われている。
- iOS 4.3 の新API すべてに対応。
- NSDecimal と NSDecimalNumber が新たに公開された (おもに CorePlot 用 :-)。
- 便利な API が多数,新たに導入された。
今回のリリースによって .NET 開発者は,Visual Studio を使って Windows Phone 7,iOS,さらには Android をターゲットとするモバイルアプリケーションを開発することが可能になった。ひとつ警告しなければならないのは,アプリケーションのプレゼンテーション層を分離しておくことの必要性である。これら3つのモバイルプラットフォームの UI がまったく異なったものであるためだ。RestaurantGuide は,これらすべての OS で同等の UI をサポートするアプリケーションの開発方法を示す,サンプルアプリケーションである。