本文共 835 字,大约阅读时间需要 2 分钟。
\\\看新闻很累?看技术新闻更累?试试,每天上下班路上听新闻,有趣还有料!
\
Mono长期以来一直为Linux、Mac和Windows提供的纯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用户开发的。
\\查看英文原文:
\\感谢对本文的审校。
\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们。
转载地址:http://tynba.baihongyu.com/