差异没有得到很好的传达;他们自己在论坛上的表现也不佳 https://forums.xamarin.com/discussion/4766/monomac-vs-xamarin-mac. And MonoMac https://github.com/mono/monomac/commits/master去年并不是特别活跃。
但最简单的答案是 MonoMac 还活着。 “不受支持”仅意味着您尚未购买 Xamarin 许可证,因此不要指望 Xamarin 客户支持在出现问题时提供帮助。但在 Xamarin.Mac 出现之前你就已经在船上了。
请注意单声道qua开源运行时仍在积极开发中。你还可以下载适用于 Linux 的 MonoDevelop http://www.monodevelop.com/download/例如,这有点模仿 Xamarin 开始销售许可证之前 MonoMac 的情况。 MonoDevelop 本身就是仍然相当活跃 https://github.com/mono/monodevelop,截至撰写本文时,签到时间为 13 天前。所以 Mono 仍然存在,并且实际上是所有 Xamarin 编程产品的子集。
Mono-on-Mac 的两个区别是您可以使用 MonoMac 的 AppKit 等程序集andXamarin Studio 的活动版本可以在 Mac 上进行开发,而不是局限于 Gtk# 和 MonoDevelop。这些都是非常好的事情。
MonoMac 相当于 Xamarin.Mac 的 Xamarin“Starter”版本。
但这样更好。 Xamarin 的另外两个受支持平台(Xamarin.iOS 和 Xamarin.Android)的“入门版本”具有“建立限制” http://forums.xamarin.com/discussion/2912/xamarin-starter-edition-build-limits,这限制了您在需要购买许可证之前可以构建的应用程序(包括链接)的大小。 MonoMac 则不然。所以 MonoMac-via-Xamarin Studio 是一种“增强型入门版本”。在 MonoMac 上,您可以根据需要制作任意大小的应用程序并将其发布到野外。
问题? MonoMac 项目本质上假设您的用户在其 Mac 上安装了 Mono 运行时,并且将通过mono
命令行上的命令——就像您对“旧”MonoMac 所做的那样。如果你想瞄准传统的最终用户,那就不太顺利了。你可以使用博克构建 https://github.com/mono/bockbuild/帮助执行类似于 Xamarin.Mac 无需许可证的应用程序捆绑的操作(这就是 BockBuild 的使用方式)Banshee http://banshee.fm,无论如何)来制作独立的应用程序包,但我不确定 BockBuild 的通用性如何。
However...在另外两个“入门”版本中,您do获得一个漂亮的、可立即部署的应用程序包。也就是说,如果您向 Apple 支付了 99 美元,成为 Apple 开发人员并在 Starter 上制作了一个小型 Xamarin.iOS 应用程序,则可以立即将该应用程序部署到 iOS App Store,而无需支付 Xamarin.iOS 许可证。所以,从这个意义上来说,MonoMac 是worse比其他地方的 Starter 版本。
历史推测(我对此有点模糊):正是在这个时候MonoMac 打包器 http://www.mono-project.com/archived/monomacpackager/表明Xamarin.Mac 发布 http://en.wikipedia.org/wiki/Xamarin#Product_Development和 MonoMac 通过 MonoDevelop“死了”。人们确实将 MonoMac 应用程序发布到了 Mac App Store (iirc),但 Xamarin 希望您今天购买许可证来执行此操作,并且开源(?)MonoMac Packager 的支持did die,被 Xamarin.Mac 吞没。我相信要点是 Xamarin 明白他们是从开源 MonoMac 开始的,如果他们停止支持 Mac 开发(也就是说,如果他们reduced它的有用性来自我们在 Xamarin 之前的期望),但会有一些阻力。
EDIT:更多历史链接。Cocoa# http://en.wikipedia.org/wiki/Cocoa_SharpMiguel 说,它于 2004 年发布,并持续开发到 2008 年,早于 MonoMac 的创建。 CocoaSharp 也曾与 Mono 一起发布过一段时间。我知道我有时会在脑海中将 MonoMac 和 Cocoa# 混为一谈。单一Mac好像是2010年左右出生的 http://www.infoq.com/news/2010/04/MonoMac, after单触摸。
Xamarin 非常好,让我们将 MonoMac-ing 保留在他们最新的 Xamarin Studio 中,并继续从他们对核心 Mac 功能集执行的升级中受益。
So Xamarin.Mac 构建于 MonoMac 之上,也不能不从某种意义上得到支持。唯一的问题是 Xamarin 允许我们使用“不受支持的”MonoMac 项目构建我们想要的大型应用程序多久,而不是用类似于 X.iOS 和 X.Android 的“入门”版本替换 MonoMac。我希望他们继续做正确的事情,而不是剥夺原始开源 Mono 社区赋予我们的能力:让任何人都可以使用 C# 来构建具有本机 Mac UI 的全功能应用程序。
感觉有点乱,但希望对你有所帮助。 MonoMac 存在,Xamarin.Mac 是它的超集。同样,购买 Xamarin.Mac 的一大优势是应用程序捆绑,但还有一些额外的程序集(James 在下面列出了一些程序集:“GameKit、StoreKit 等......”),并且正如 James 还指出的那样,还有 64 位支持。 Xamarin 在营销这些好处方面做得并不好。
然而,你的问题的底线是,你不应该觉得 MonoMac 是二等公民。实际上,您现在处于一个非常好的位置,可以根据需要构建尽可能复杂的 Mac 原生应用程序。