2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

Webrtc video framerate/resolution自适应

webrtc developer

WebRTC

「绝密档案」“爆料”完整秒杀架构的设计到技术关键点的“八卦资料”

码界西柚

秒杀系统 秒杀架构 秒杀架构设计 web技术分析 10月月更

读书笔记:彼得原理

程序员架构进阶

自我提升 管理者 彼得原理 10月月更

架构实战营 - 模块 9 - 设计电商秒杀系统

雪中亮

架构实战营 #架构实战营

15个开发者最常犯的错误,你中招了吗?

俞凡

认知 10月月更

5分钟搞懂URI、URL和URN

俞凡

网络 10月月更

第 10 章 -《Linux 一学就会》- centos8系统进程管理

学神来啦

Linux 运维 linux学习 linux云计算

一分钟搞懂SOLID原则

俞凡

架构 10月月更

【LeetCode】密钥格式化Java题解

Albert

算法 LeetCode 10月月更

如何画好架构图

十二万伏特皮卡丘

linux时间格式化命令

入门小站

Linux

SpringMVC源码分析-HandlerAdapter(7)-ServletInvocableHandlerMethod组件分析

Brave

源码 springmvc 10月月更

【Flutter 专题】38 图解 Android 打包 APK 文件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

🍃【SpringBoot技术专题】「开发实战系列」动态化Quartz任务调度机制+实时推送任务数据到前端

码界西柚

springboot quartz DeferredResult 任务调度 10月月更

007云原生之Service Mesh(中心化Broker)

穿过生命散发芬芳

云原生 10月月更

MySQL性能分析和索引优化

程序员阿杜

MySQL

架构实战营模块九作业

老猎人

架构实战营

Kotlin中逻辑运算符操作分析

maijun

and kotlin逻辑运算符 &&

看山聊Java:开始使用 Java8 中的时间类

看山

Java java8 DATE类型 10月月更

在线摇骰子/色子工具

入门小站

工具

006云原生之Service Mesh(Spring Cloud)

穿过生命散发芬芳

云原生 10月月更

第 11 章 -《Linux 一学就会》- 重定向和文件的查找

学神来啦

Linux linux运维 linux学习 linux云计算

深入理解Git submodules

俞凡

git 架构 10月月更

团队管理之如何成为合格的TeamLeader

小诚信驿站

团队管理 管理 引航计划 内容合集

【Flutter 专题】39 图解 iOS 打包 IPA 文件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

怎么给程序员做职业规划?

石云升

团队管理 管理 引航计划 内容合集 10月月更

Ember Data 之模型定义

devpoint

model ember.js 10月月更

在线随机抛硬币工具

入门小站

工具

阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)

看山

Java EasyExcel 10月月更

4. Python 函数式编程之 functools 模块初体验

梦想橡皮擦

10月月更

Redis 面试那些事(30问与答)

Seven七哥

redis 面试 后端

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