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用户开发的。

原文:http://www.infoq.com/cn/news/2018/03/mono-forms-carbon64


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

64位的Mac OS X也有Windows.Forms了相关推荐

  1. 如何让应用支持64位 Android,Sailfish OS 4.1终于拥抱64位 Android10应用支持API等级

    当其他移动操作系统多年来一直采用64位软件堆栈,并在逐步淘汰32位应用支持的过程中,Jolla正在庆祝Sailfish 4.1终于标志着他们第一个完全64位的Sailfish OS软件堆栈的到来,但它 ...

  2. wampp mysql版_xampp 64位下载(XAMPP 5.6.8 for Windows)官方版_附xampp mysql无法启动解决方案...

    xampp 64位下载(XAMPP 5.6.8 for Windows)官方版_附xampp mysql无法启动解决方案 xampp(apache+mysql+php+perl)是一个功能强大的建站集 ...

  3. 树莓派4B安装官方发布64位 Raspberry Pi OS 系统

    前言 树莓派4B性能强劲,早就有许多大神做了一些64位系统,官方也终于推出了Raspberry Pi OS (64 bit) ,也就是64位的系统,话不多说,开淦! 一.下载系统 官方64位系统下载地 ...

  4. Maya 2013下载地址 包含32位 64位 及Mac版

    Windows 32位: http://trial.autodesk.com/SWDLDDLM/2013/MAYA/ESD/Autodesk_Maya_2013_English_Japanese_Si ...

  5. Android 判断手机是32位CPU还是64位CPU android.os.Build类字段含义

    手机cpu分32位与64位,下面介绍如何在所有android版本上判断手机cpu位数是32位还是64位. 1 Android 判断手机是32位CPU还是64位CPU Android从API level ...

  6. Python模拟Linux/Mac OS工具grep和Windows工具findstr

    在Linux和Mac OS系统中有个工具grep可以用来查找哪些文件中包含特定的字符串,Windows系统中也有类似的工具findstr,本文代码模拟了这两个工具的工作原理. from os impo ...

  7. linux vbox安装mac os,超简单的linux下virtualbox4.3.26安装配置黑苹果 OSX 10.9的办法

    为了在虚拟机上装个osx,前前后后折腾了7天,终于搞定了. 发现虚拟机装osx有个最大的好处是,可以直接下载别人现成的虚拟机镜像,我就是在屡屡失败后,下载了个vdi镜像了事,虽然比较偷懒,但对于没时间 ...

  8. 【BETA】Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法...

    苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 位模式,关于开启 64 位的好处,字太多,本文后半段介绍.下面先说查看你的苹果电脑是否开启了 64 位以及设置苹果电脑 Mac ...

  9. Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法

    Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法 引用功能被关闭了. 苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 ...

最新文章

  1. 成员变量和成员函数分开存储
  2. 【转】C++面试题(四)——智能指针的原理和实现
  3. 求难、求拙、求慢、求少
  4. MyBatis 实际使用案例-objectFactory【重点】
  5. Java串口包Javax.comm的安装
  6. arm linux sms,基于arm处理器的手机短消息加密系统 encryption system for sms based on arm.pdf...
  7. html 英文字母不换行,css如何设置英文单词不换行?
  8. Red5开发第一步-Hello World
  9. Linux USB总线驱动框架分析
  10. 数字图像处理--噪声
  11. jzoj立体井字棋【数学】
  12. 通达oa考勤可以代打吗_OA让考勤更方便
  13. 内存带宽测试与AVX指令集读写内存
  14. ubuntu20.04下编译rovio代码报“undefined reference to ‘__glew***‘“
  15. 数据结构——学期总结
  16. [BZOJ3895]取石子
  17. android改微信号码,安卓版微信更新,已支持修改微信号
  18. 让Windows2000飞起来(转)
  19. 单片机“左移右移理论”,详解
  20. 怎么给视频换背景?只需4步,即可轻松换背景

热门文章

  1. KVM 虚拟机自动克隆脚本
  2. 5.5 准备创建bean
  3. Gentle.Net学习笔记四:修改代码,使用Oracle数据库
  4. 关于Asp.net core配置信息读取的源码分析梳理
  5. 22504!Windows 11 新预览版发布
  6. 如何在 .NET Core 中获取 CPU 使用率
  7. .NET 6 中的 LINQ 更新
  8. “工业互联网平台“将成为工业制造企业的标配
  9. Api网关Kong集成Consul做服务发现及在Asp.Net Core中的使用
  10. NET问答: 如何按属性进行 Distinct() ?