BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Xamarinが iOS と Android向けのC#非同期を導入

Xamarinが iOS と Android向けのC#非同期を導入

原文(投稿日:2013/03/12)へのリンク

 

Xamarinは、iOS and Android開発向けの非同期対応ライブラリのプレビューをリリースした。この成果は、Visual Studio 2012の一部として昨年リリースされた Microsoftの .NET 4.5に大きく基づいている。 Xamarinは、以前はAndroid用の MonoTouch と Monoとして知られていた開発プラットフォームの新名称である。

Xamarin 2.0イニシアチブの一環として、モバイルプラットフォームは、 Mono と .NETにあるクラスライブラリを採用している。以前、Android用の MonoTouch と Monoは、Silverlight/Moonlightベースのサブセットに制限されていた。Rodrigo Kumpera氏は書いている。

非同期処理がこのリリースの主要テーマだが、7000以上のコミットによる、Monoランタイムへの2年間の改善が詰め込んでいます。それらを Android, Mac、iOSのユーザーが使えるようになりました。

このリリースは、またiOSバッチコンパイラーにも改善をもたらしている。他の殆どのプラットフォームと違い、iOSはJITコンパイルされたコードを許可しない。これは、動的に起動されるコードで特にジェネリックスが関与した場合に問題となる。

iOS上で、我々は値型に対して「共有可能なコード」を生成できるようになりました。これはコード生成技術における真に革命的な革新です。実用上、これが意味すことは、以前「JITコンパイル方式を試しています」で、クラッシュしたコード全体が動くようになった、ということです。我々は、尚推論できる、高パフォーマンスで、微調整した汎用コードを提供します。例えば、メソッド Foo<T>(T x)–への直接呼び出しでは、以前は失敗した動的ケースで、使うことができる Foo<T>(T x) の値型共有バージョンを生成します。かつて夢だったものが現実になりました。

現在、 Microsoftの .NET 独自の JITコンパイラには、この機能はない。1つのメソッドを全ての参照型で共有し、ジェネリックなメソッドは、それぞれ個別の値型で再コンパイルする必要がある。

共変と反変のサポートが.NET 4.0で導入されたが、Xamarin プラットフォームでも存在する。

 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT