MonoMac被​​弃用了吗?

时间:2015-01-25 17:17:01

标签: mono monodevelop monomac xamarin.mac

MonoMac的页面似乎已被放弃。它似乎是几年前的最后更新,因为它说" Mountain Lion"是"新"操作系统。

  

AppKit的新Lion和Mountain Lion API

MonoMac正处于"不支持"在Xamarin Studio中(我想下载Mono Develop,但页面会自动重定向到Xamarin Studio)。

MonoMac是否已被弃用,或者它是否仍在与Xamarin.Mac一起积极开发?

4 个答案:

答案 0 :(得分:6)

差异没有很好地传达; they don't even do a great job themselves on the forums。而MonoMac去年并没有特别活跃。

但快速的回答是MonoMac生活。 "不支持"只是意味着您还没有购买Xamarin许可证,因此不要期望Xamarin客户支持在出现问题时提供帮助。但是在Xamarin.Mac出现之前你已经在那艘船上了。

请注意,Mono qua 开源运行时仍处于非常活跃的开发阶段。你还可以download MonoDevelop for Linux,例如,在Xamarin开始销售许可证之前,MonoMac是哪种模仿。 MonoDevelop本身是still pretty active,截至撰写本文时,最近有13天前签到。所以Mono还活着,实际上是所有Xamarin编程产品的一部分。

Mono-on-Mac的两个不同之处在于您可以使用MonoMac的AppKit等,程序集 Xamarin Studio的活动版本在Mac上开发而不是卡住比方说,Gtk#和MonoDevelop。这些都是非常好的事情。

MonoMac相当于Xamarin" Starter" Xamarin.Mac的版本。

但它更好。 "入门版" Xamarin的另外两个支持平台 - Xamarin.iOS和Xamarin.Android--有"build limits",这限制了你可以在你需要购买之前建立的应用程序(包括链接)的大小许可证。 MonoMac不是这样。所以MonoMac-via-Xamarin Studio是一种关于类固醇和#34;的初学者版本。在MonoMac上,您可以根据需要制作同样大的应用程序并将其发布到野外。

问题? MonoMac项目基本上假设您的用户在其Mac上安装了Mono运行时,并将通过命令行上的mono命令打开您的程序集 - 就像您必须使用" old&#34 ;的MonoMac。如果您想要定位传统的最终用户,这并不是很顺利。你可以使用BockBuild帮助做一些类似于没有许可证的Xamarin.Mac应用程序捆绑(无论如何,Banshee如何使用BockBuild)来实现自包含应用程序包,但我不确定BockBuild的通用性如何。

然而 ...在另外两个" Starter"版本,您获得一个好的,可随时部署的应用程序包。也就是说,如果您已向Apple支付99美元作为Apple开发人员并在Starter上制作小型Xamarin.iOS应用程序,则可以立即将该应用程序部署到iOS App Store,而无需支付Xamarin.iOS许可证。因此,从这个意义上讲,MonoMac 更糟比其他地方的Starter版本更糟糕。

历史猜测(我的思绪在这方面有点模糊): MonoMac Packager通过MonoDevelop显示Xamarin.Mac was released和MonoMac的时间是正确的"死亡&#34 ;.人们确实将MonoMac应用程序发布到Mac App Store(iirc),但是Xamarin宁愿你今天购买许可证,而且开源(?)MonoMac Packager的支持 die ,被Xamarin.Mac吞噬。我相信Xamarin明白他们是从开源MonoMac开始,如果他们停止支持Mac开发(也就是说,如果他们减少从我们之前的Xamarin期望中获得的用途),会有一些阻力。

  

编辑:更多历史链接。 Cocoa#,于2004年发布并持续发展至2008年,早于Miguel说,并告知MonoMac的创建。 CocoaSharp还与Mono一起发布了一段时间。我知道我把MonoMac和&可可#有时在我脑海里。 MonoTouch之后的MonoMac seems to have been born around 2010

Xamarin非常高兴让我们将MonoMacing保留在他们最新的Xamarin Studio中,并继续受益于他们对核心Mac功能集的升级。

所以 Xamarin.Mac是建立在MonoMac之上的,它无法提供帮助,但在某种意义上可以得到支持。唯一的问题是Xamarin让我们使用"不支持" MonoMac项目可以构建我们想要的大型应用程序,而不是将MonoMac替换为" Starter"与X.iOS和X.Android类似的版本。我希望他们能够继续做正确的事情而不是剥夺原始开源Mono社区给我们的能力:任何人都可以使用C#构建具有原生Mac UI的全功能应用程序。

这感觉有点乱,但我希望它有所帮助。 MonoMac存在,Xamarin.Mac是它的超集。再次,购买Xamarin.Mac的最大优势是应用程序捆绑,但还有一些额外的程序集(James列出了一些下面的内容:" GameKit,StoreKit等......"),正如James也指出的那样,64位支持。 Xamarin在营销这些好处方面做得不好。

但问题的底线是,您不应该觉得MonoMac是二等公民。您现在正处于一个非常好的位置,可以像您一样构建复杂的Mac-native [ish]应用程序。

答案 1 :(得分:4)

正如@Lex所说:

  

2016年3月31日,Microsoft / Xamarin宣布了Xamarin SDK的开源计划,并于2016年4月27日在GitHub上发布了代码http://open.xamarin.com。所以现在你应该完全放弃MonoMac并拥抱Xamarin.Mac。

然后MonoMac已过时(支持Xamarin.Mac/iOS,这也是开源和免费的)。这是confirmed by Miguel in the mailing list

答案 2 :(得分:2)

更新:

微软收购了Xamarin并制作了Xamarin.Mac OSS。如果您正在寻找使用C#构建Mac应用程序,那么您应该使用Xamarin.Mac。鉴于Xam.Mac可供所有人免费使用,MonoMac不会积极开发。

我认为与C#Mac开发相比,真的有三件事要做。我们有MonoMac,Xamarin.Mac Classic和Xamarin.Mac Unified。它们各不相同,但Classic vs Unified可能是开发人员最大的不同之处。

MonoMac最初是一个在周末黑客马拉松创建的开源项目。不久之后,Xamarin提供了一个名为Xamarin.Mac的MonoMac超集。它包含更广泛的API(GameKit,StoreKit等......),这些API在MonoMac中不可用。 Xamarin.Mac还为Mono提供商业许可,允许您发布到Mac AppStore。如果您对MonoMac感兴趣,可以抓住the repository off GitHub并开始贡献该项目。

在过去的18个月中,我们一直在努力统一我们的iOS和Mac产品核心,同时解决一些问题(使用方法和属性等拼写错误......)并添加64位支持。这个新版本的Xamarin.Mac还包含一个新的垃圾收集器和一些新的数据类型。我们之所以这样做,既可以在Xamarin.iOS和Xamarin.Mac项目之间进行更多的代码共享,也可以支持Apple发布的仅64位的最新API。

举个例子,如果您希望在Mac上使用MapKit,则需要使用Unified API,因为这是一个仅64位的API。

如果您今天使用MonoMac开发应用程序,如果您想在Mac App Store上发布应用程序,则可以轻松升级到Unified API。您还应该查看您认为需要的API。作为一般经验法则,10.10中的任何新API都可能需要新的Unified API,因此需要Xamarin.Mac。

答案 3 :(得分:0)

我不认为这两个答案涵盖了MonoMac和Xamarin.Mac的所有历史,因此作为Timeline of .NET/Mono/Xamarin的作者,我想提出另一个答案。

MonoMac诞生于Mono家伙完成MonoTouch的重大开发之后,并希望将同样的技术引入桌面。 Miguel blogged about its 1.0 release。因此,它作为Mono的一部分作为开​​源发布。

Xamarin的推出显着改变了项目的运行方式。显然MonoTouch和Mono for Android成为了旗舰产品,MonoMac是另一个潜在产品。因此,在2012年12月12日,Xamarin.Mac的建立是为了加入Xamarin.iOS和Xamarin.Android。商业Xamarin品牌标志着开源Mono品牌的明显边界线。从那时起,MonoMac开发速度放缓,更多资源转移到Xamarin.Mac。

更具历史意义的事件发生在2014年,当时苹果公司对64位应用程序提出了要求,iOS和Mac应用程序工具供应商都必须满足这些要求。 Xamarin明确宣布Xamarin.iOS和Xamarin.Mac使用Unified API on their team blog支持完整的64位。由于MonoMac总是32位,因此该博客文章表明我认为MonoMac已经死亡,但我认为此处没有其他答案提到这一重要声明。

如果您按照文档进行操作,则可以看到数据类型和API集中的许多重大更改,

https://developer.xamarin.com/guides/cross-platform/macios/unified/updating-mac-apps/

因此,如果最初Xamarin.Mac更像是基于MonoMac的工具链,那么从那时起它就变成了一个完全不同的野兽,拥有新的力量来克服更多的挑战。

2016年3月31日,Microsoft / Xamarin宣布了Xamarin SDK的开源计划,并于2016年4月27日在GitHub上发布了代码http://open.xamarin.com。所以现在你应该完全放弃MonoMac并使用Xamarin Studio来拥抱Xamarin.Mac。我不确定它的社区版本有什么限制。