AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

Xamarin 向 iOS 和 Android 引入 C#异步支持

  • 2013-03-15
  • 本文字数:668 字

    阅读完需:约 2 分钟

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 x) 方法——我们会为 Foo(T x) 生成一个值类型的共享版本,可用于之前会失败的动态场景下。曾经的梦想变为了现实。

目前微软的.NET 中自有的 JIT 编译器并没有这种能力。尽管所有引用类型可以共享一个方法,但不同值类型的泛型方法必须重新编译。

.NET 4.0 引入的协变和逆变支持也已通过一些方式进入到Xamarin 平台。

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

2013-03-15 07:102143
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 145.4 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

架构实战营模块一作业

融冰

【C 语言】指针 Three 之 [赋值语句的方法、指针变量的大小、上述总结、 * 和 & 认识、对解引用(*)认识]

謓泽

5月月更

揭秘华为云GaussDB(for Influx):数据直方图

华为云开发者联盟

数据库 华为云 GaussDB(for Influx) 数据直方图 直方图

使用 nginx 配置项的好习惯

liuzhen007

nginx 5月月更

7件大事回顾加密史上最疯狂一周

CECBC

你说写代码,最常用的3个设计模式是啥?

小傅哥

设计模式 小傅哥 架构设计 代码优化 设计原则

Apache Kafka 分层存储(Tiered Storage)技术解析

移动云大数据

kafka

Flutter StatefulBuilder 示例

坚果

5月月更

融云 x Zervo:打造欧美 Z 世代社交的「主题幻想世界」

融云 RongCloud

MAE自监督算法介绍和基于EasyCV的复现

阿里云大数据AI技术

深度学习 算法 自监督学习

直播预告丨OpenHarmony标准系统多媒体子系统之视频解读

OpenHarmony开发者

OpenHarmony 多媒体

设计模式之观察者模式

乌龟哥哥

5月月更

架构训练营第一次作业

地下地上

苹果 AppStore 财年和账单那些趣事

37手游iOS技术运营团队

apple appstore App生态

WorkPlus IM即时通讯:快速集成、私有化部署、安全加密

BeeWorks

如何给 kitex 贡献单元测试

baiyutang

开源 字节跳动 微服务 5月月更 kitex

Go 语言入门很简单:AES加密和解密

宇宙之一粟

AES Go 语言 5月月更

C语言打印程序行号、日期方便调试程序

DS小龙哥

5月月更

比特币跌破27000美元!币圈大佬损失惨重,最高身价缩水近9成

CECBC

5.17电信日 | 融云积极消除数字鸿沟 助力打造数字化新基建

融云 RongCloud

网站开发进阶(七十一):css伪元素::before和::after用法详解

No Silver Bullet

css3 5月月更 伪元素 伪类

区块链有什么价值?

CECBC

听说你在写Python爬虫,你对浏览器的开发者工具了解多少?【多图预警】

梦想橡皮擦

5月月更

Druid连接池源码阅读07

石小天

ffmpeg封装格式转换

Loken

音视频 5月月更

springboot启动失败的问题('hibernate.dialect' not set)

程序员欣宸

Java 5月月更

有了这10个GitHub仓库,开发者如同buff加持

华为云开发者联盟

GitHub 开源 Web 软件开发

FFmpeg安装

Loken

音视频

druid源码学习七

Nick

极狐GitLab yum/apt repo正式开放,更顺畅的极狐GitLab安装升级体验

极狐GitLab

极狐GitLab 安装源

Wallys-AR9582 /2x2 MIMO /Industrial-grade/ 902-928Mhz

wallys-wifi6

Xamarin向iOS和Android引入C#异步支持_语言 & 开发_Jonathan Allen_InfoQ精选文章