64位的Mac OS X也有Windows.Forms了
Mono長(zhǎng)期以來一直為L(zhǎng)inux、Mac和Windows提供Windows.Forms的純C#實(shí)現(xiàn)。隨著技術(shù)潮流的變化,Mono的Windows.Forms平臺(tái)仍然沒有得到很好的發(fā)展,還只是各種第三方庫和應(yīng)用程序的依賴,這使得它的重要性超過了那些基于WinForms的應(yīng)用程序。Mono默認(rèn)切換到64位,給MacOS對(duì)Windows.Forms的持續(xù)支持帶來了問題,因?yàn)檫@個(gè)支持是建立在32位版本Carbon的基礎(chǔ)之上的。
為了彌補(bǔ)這個(gè)差距,Mono的Miguel de Icaza最近在研究如何改進(jìn)MacOS的支持。他最初的選擇要么是利用64位版本Carbon提供的API,要么是嘗試用Xamarin.Mac在Cocoa之上構(gòu)建新后端。對(duì)64位版本Carbon的初步研究表明,Windows.Forms的API文檔很差勁,很難看出64位版本能做些什么。于是,de Icaza開始嘗試使用Xamarin.Mac。
幸運(yùn)的是,de Icaza把他的開發(fā)公布于眾,這讓Filip Navara有機(jī)會(huì)注意到他在做的事。然后,Navara聯(lián)系了de lacaza,提到他在做的一個(gè)項(xiàng)目也許對(duì)這個(gè)新嘗試有幫助。Navara提供了一個(gè)現(xiàn)成的Cocoa后端,可以重新規(guī)劃后用在Mono上。Navara的代碼來自Mono SWF,它為Mono構(gòu)建了可用的Cocoa后端。
至此,de lcaza決定把這些代碼作為新64位版本的實(shí)現(xiàn)基礎(chǔ),在MacOS上支持Mono的Windows.Forms。在審查代碼時(shí),de lcaza注意到,對(duì)于某些控件,代碼中使用了本地AppKit。它也用到了System.Drawing的定制版本,這個(gè)版本最初是Mono為iOS用戶開發(fā)的。
原文:http://www.infoq.com/cn/news/2018/03/mono-forms-carbon64
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的64位的Mac OS X也有Windows.Forms了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Asp.Net Core2.0 基于Qu
- 下一篇: Windows Developer Da