Xamarin向iOS和Android引入C# Async支援

來源:互聯網
上載者:User

Xamarin引入支援iOS和Android非同步開發的庫,現在已經發布了一個預覽版本。該庫主要基於微軟的.NET 4.5,而後者是作為Visual Studio 2012的一部分於去年發布的。Xamarin是之前人們所熟知的MonoTouch和Mono for Android開發平台的新名字。

作為最初的Xamarin 2.0的一部分,該移動平台採用了Mono和.NET中的類庫。而之前的MonoTouch和Mono for Android僅限於以Silverlight/Moonlight為基礎的一個子集。Rodrigo Kumpera寫道:

儘管非同步是該版本的主題,但我們也將這兩年來的改進打包到Mono運行時中了,覆蓋了目前可支援Android、Mac和iOS使用者的超過7000次提交。

該版本也帶來了它對iOS指令碼批處理編譯器的改進。與其他大多數平台不同,iOS不允許以JIT編譯方式產生代碼。這給動態調用的代碼帶來了問題,尤其是涉及泛型的時候。

在iOS上,我們目前為實值型別產生“可共用程式碼(shareable code)”,這是代碼產生技術方面的一項革命性創新。在實踐中,這意味著之前會提示“Attempting to JIT compile method”並崩潰的一整段代碼現在能夠正常工作了。在提供我們所能推斷出的高效能、微調過的泛型代碼的同時——比如直接調用Foo<T>(T x)方法——我們會為Foo<T>(T x)產生一個實值型別的共用版本,可用於之前會失敗的動態情境下。曾經的夢想變為了現實。

目前微軟的.NET中自有的JIT編譯器並沒有這種能力。儘管所有參考型別可以共用一個方法,但不同實值型別的泛型方法必須重新編譯。

.NET 4.0引入的協變和逆變支援也已通過一些方式進入到Xamarin平台。

查看英文原文:Xamarin Introduces C# Async for iOS and Android

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.