2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:004327
用户头像

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

关注

评论

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

Java小白翻身教程-链表结构与编译大法(1)

爱好编程进阶

Java 程序员 后端开发

Java必备技能之源码篇(Nginx源码研究之nginx限流模块)

爱好编程进阶

Java 程序员 后端开发

Tomcat介绍(三)

爱好编程进阶

程序员 后端开发

如何在缺乏商业项目经验的前提下成功通过面试,兼说我如何甄别非商业项目经验

爱好编程进阶

Java 程序员 后端开发

编写自己的 WordPress 模板

海拥(haiyong.site)

WordPress 5月月更

Java开发的凡尔赛你不懂,晒出12月工资条,直言太辛苦

爱好编程进阶

程序员 后端开发

令人欣慰!阿里大牛把Spring微服务架构设计整理成了500多页文档,真香

爱好编程进阶

Java 程序员 后端开发

史上最全图解JVM,京东小哥带你了解性能提升100%背后的秘密武器

爱好编程进阶

Java 程序员 后端开发

AI简报-视频去交错(Deinterlance)

AIWeker

人工智能 深度学习 5月月更 去交错

「每日一问」并发编程的特性是什么

爱好编程进阶

Java 程序员 后端开发

【Jvm】Jvm类加载机制

爱好编程进阶

Java 程序员 后端开发

厉害了!把 HashMap 剖析的只剩渣了!

爱好编程进阶

Java 程序员 后端开发

leetcode38

爱好编程进阶

程序员 后端开发

SpringBoot整合MyBatis完整详细版

爱好编程进阶

Java 程序员 后端开发

优化了MYSQL大量写入问题,老板奖励了1000块给我

爱好编程进阶

Java 程序员 后端开发

【刷题第十天】21. 合并两个有序链表

白日梦

5月月更

【直播预告】程序员修炼之道——如何实现敏捷开发与稳健运行的有机统一

FinClip

程序员 小程序运营

JAVA-使用注解实现Excel表头多语言导出

JayJay

5月月更

java高并发系列 - 第28天:实战篇,微服务日志的伤痛

爱好编程进阶

Java 程序员 后端开发

MySQL数据库所有知识点最详细讲解,内置官方文档、个人理解

爱好编程进阶

程序员 后端开发

SpringloC容器的依赖注入源码解析(3)

爱好编程进阶

Java 程序员 后端开发

【解决】jsPDF之长图片生成PDF

爱好编程进阶

Java 程序员 后端开发

JUC常见的锁

爱好编程进阶

程序员 后端开发

Kafka的体系结构

爱好编程进阶

Java 程序员 后端开发

「2021-老胡的年终总结」

爱好编程进阶

程序员 后端开发

面试突击48:死锁的排查工具有哪些?

王磊

Java java面试

SpringBoot-MVC自动配置原理

爱好编程进阶

Java 程序员 后端开发

SpringDataJPA之关联关系

爱好编程进阶

Java 程序员 后端开发

大佬总结的4条宝贵经验,送给初入职场的你,从此一飞冲天

爱好编程进阶

Java 程序员 后端开发

极光笔记 | 极光基于元数据驱动数据治理浅谈

极光GPTBots-极光推送

数据治理 元数据

一文聊透 Netty IO 事件的编排利器 pipeline | 详解所有 IO 事件的触发时机以及传播路径

bin的技术小屋

网络编程 Netty java netty 5月月更

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