产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

64 位的 Mac OS X 也有 Windows.Forms 了

  • 2018-03-04
  • 本文字数:756 字

    阅读完需:约 2 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Mono 长期以来一直为 Linux、Mac 和 Windows 提供 Windows.Forms 的纯 C#实现。随着技术潮流的变化,Mono 的 Windows.Forms 平台仍然没有得到很好的发展,还只是各种第三方库和应用程序的依赖,这使得它的重要性超过了那些基于 WinForms 的应用程序。Mono 默认切换到 64 位,给 MacOS 对 Windows.Forms 的持续支持带来了问题,因为这个支持是建立在 32 位版本 Carbon 的基础之上的。

为了弥补这个差距,Mono 的 Miguel de Icaza 最近在研究如何改进MacOS 的支持。他最初的选择要么是利用64 位版本Carbon 提供的API,要么是尝试用Xamarin.Mac 在Cocoa 之上构建新后端。对64 位版本Carbon 的初步研究表明,Windows.Forms 的API 文档很差劲,很难看出64 位版本能做些什么。于是,de Icaza 开始尝试使用Xamarin.Mac。

幸运的是,de Icaza 把他的开发公布于众,这让Filip Navara 有机会注意到他在做的事。然后,Navara 联系了de lacaza,提到他在做的一个项目也许对这个新尝试有帮助。Navara 提供了一个现成的Cocoa 后端,可以重新规划后用在Mono 上。Navara 的代码来自Mono SWF,它为Mono 构建了可用的Cocoa 后端。

至此,de lcaza 决定把这些代码作为新64 位版本的实现基础,在MacOS 上支持Mono 的Windows.Forms。在审查代码时,de lcaza 注意到,对于某些控件,代码中使用了本地AppKit。它也用到了System.Drawing 的定制版本,这个版本最初是Mono 为iOS 用户开发的。

查看英文原文: Windows.Forms Comes to 64-bit Mac OS X


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-03-04 18:003974
用户头像

发布了 199 篇内容, 共 85.2 次阅读, 收获喜欢 295 次。

关注

评论

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

手把手教你学Dapr - 4. 服务调用

MASA技术团队

C# .net 微软 微服务 dapr

手把手教你学Dapr - 8. 绑定

MASA技术团队

C# .net 微软 微服务 dapr

C#8.0 可空引用类型

MASA技术团队

C# .net 微软 微服务 项目

SpringBoot:如何优雅地进行参数传递、响应数据封装、异常处理?

CRMEB

JavaScript 使用 Markdown 制作 PPT

devpoint

markdown 1月月更 slidev

从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践

字节跳动数据平台

数据库 字节跳动 Clickhouse 实时数据分析 bytehouse

技术分享| 探索视频感知编码

anyRTC开发者

音视频 WebRTC 视频编码 视频压缩 视频感知编码

项目动态|Apache Pulsar 2.7.4 版本发布

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

盘点 2021 征文大赛获奖名单公布!

InfoQ写作社区官方

盘点2021 热门活动

深入解析 Apache Pulsar 系列(一):客户端消息确认

Apache Pulsar

开源 架构 云原生 Apache Pulsar 消息中间件

手把手教你学Dapr - 9. 可观测性

MASA技术团队

C# .net 微软 微服务 dapr

手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序

MASA技术团队

C# .net 微软 微服务 dapr

中国AIOps们,你们究竟是在骗谁?

Geek_f56666

云计算 AIOPS 云服务

PK体系“配齐”!亚信科技数据库与麒麟软件OS、飞腾CPU完成产品适配

亚信AntDB数据库

AntDB 亚信科技

使用轻量应用服务器部署Docsify在线文档平台

阿里云弹性计算

阿里云 轻量应用 征文投稿

如何提高你的写作技巧

坚果

1月月更

gpushare.com_基于去噪Transformer的无监督句子编码【EMNLP 2021】

恒源云

深度学习 语音识别 transform

『内存中的操作系统』内存虚拟化又是什么

soolaugust

操作系统 内存

普通开发者,如何成为Apache项目的commiter ?| 人物专访

云智慧AIOps社区

开源 程序员 算法 运维 时序数据

详细图解Netty Reactor启动全流程

bin的技术小屋

微服务 网络编程 中间件 Java IO netty

手把手教你学Dapr - 7. Actors

MASA技术团队

C# .net 微软 微服务 dapr

阿里云弹性计算年度关键词:强劲、突破、开放

阿里云弹性计算

阿里云 弹性计算 计算巢 神龙架构 无影

手把手教你学Dapr - 5. 状态管理

MASA技术团队

C# .net 微软 微服务 dapr

详解 HDFS 底层交互原理

五分钟学大数据

hdfs 1月月更

全国社保基金理事会副理事长陈文辉一行莅临青藤调研

青藤云安全

Blazor是春天还是寒风里的挣扎

MASA技术团队

C# .net 微软 微服务 blazor

淘宝小部件 Canvas 渲染流程与原理全解析

阿里巴巴终端技术

小程序 淘宝 渲染

【渗透技术】一个渗透测试工具人是怎样操作的

H

网络安全 渗透测试

手把手教你学Dapr - 6. 发布订阅

MASA技术团队

C# .net 微软 微服务 dapr

中国AIOps们,你们究竟是在骗谁?

观测观测

AIOPS

MS Office 冷门却实用的技巧及软件安装包分享(文末有福利)

淋雨

Office office365

64位的Mac OS X也有Windows.Forms了_.NET_Jeff Martin_InfoQ精选文章