写点什么

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:102010
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

【技术分享】猪八戒网DevOps之Java组件安全检测

八戒技术团队

Java DevOps 安全检测

今天直播:datop——用在冷热内存识别和跨 numa 访存有多优秀?

OpenAnolis小助手

Linux 开源 技术直播

Android技术分享| anyLive 开源项目

anyRTC开发者

android 音视频 开源项目 移动开发 视频直播

一文看懂JVM运行时内存分布

黄林晴

JVM

【有奖体验】:2分钟自动化部署2048小游戏到ECS

阿里云云效

阿里云 云原生 CI/CD 自动化部署 ECS

中国协同办公服务软件,你更看好哪一款?

易观分析

协同办公软件

昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者

华为云开发者联盟

强化学习 mindspore ai框架 图学习 昇思MindSpore

上讯信息正式加入openGauss社区

极光笔记 | 基于Robotframework框架进行服务端SDK的自动化(C++版本)

极光JIGUANG

c++

web前端培训:WEB 安全相关面试题分享

@零度

前端开发 WEB安全

openGauss助力中国移动获 “ICT优秀案例”

opengauss

ENS 域名终极指南

devpoint

以太坊 eth 3月月更 ens

基于 Nebula Graph 构建图学习能力

NebulaGraph

数据库 开源 分布式图数据库 机器学习数据库

大数据培训:偶然看到大数据面试题,拿出来分享

@零度

大数据 面试题

恒源云(GpuShare)_PRGC:基于潜在关系和全局对应的联合关系三元组抽取

恒源云

机器学习 深度学习 算法 知识图谱

《中国软件根技术发展白皮书(基础软件册)》发布!

opengauss

紧急扩散!HDFS3.X 系列的 EC 纠删码策略有个安全隐患 HDFS-16420,极端情况下会造成数据丢失!

明哥的IT随笔

hdfs

iOS应用性能数据采集原理和优化实践 | 详细版

云智慧AIOps社区

ios 性能优化 数据采集 Object-c 技术干货

上海英方软件正式加入openGauss社区

opengauss

低代码实现探索(三十六)表达式组件—基础组件的组件

零道云-混合式低代码平台

华为云携手甘肃省医疗保障局,以数字科技为智慧医疗注入新动能

华为云数据库小助手

华为云数据库 华为云DRS 智慧医疗

java培训:判断元素是不是在集合里的方法

@零度

JAVA开发

通过CRM系统提高生产力的技巧

低代码小观

企业管理 CRM 企业管理系统 CRM系统 客户关系管理系统

iuap助力明日控股打造大宗贸易业财一体化中台

用友BIP

用友 用友iuap

春季招聘|Rust开发工程师们,欢迎加入!

非凸科技

HAVE FUN | SOFARegistry 源码解析

SOFAStack

GitHub 开源 程序员 开发者 源码剖析

听见“SHE”说丨OpenHarmony Ladies不被定义的“AWESOME”

OpenHarmony开发者

OpenHarmony 热门活动 女性力量

阿里开源 支持10万亿模型的自研分布式训练框架EPL(Easy Parallel Library)

阿里云大数据AI技术

深度学习 开源 分布式 框架

英特尔以多元化至强产品路线图 助推行业强势发展

科技新消息

如何设置Perforce类型映射(P4类型映射)

龙智—DevSecOps解决方案

版本控制 游戏开发 二进制文件 游戏引擎 虚拟引擎

WhiteSource SAST:下一代应用程序安全

龙智—DevSecOps解决方案

静态应用安全测试 SAST

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