MonoMac 是否已被弃用?

2023-12-30

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

AppKit 的新 Lion 和 Mountain Lion API

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

那么 MonoMac 是否已被弃用,还是仍在与 Xamarin.Mac 一起积极开发?


差异没有得到很好的传达;他们自己在论坛上的表现也不佳 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 原生应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MonoMac 是否已被弃用? 的相关文章

随机推荐

  • 如何比较两个字符串汇编

    谁能告诉我如何用汇编语言比较两个字符串 我写了以下内容 但它似乎不起作用 assume cs code ds data data segment sirlung db abcdjjj lungimelung equ sirlung sirs
  • 从 Mac 终端运行/打开 VSCode

    我想通过运行此命令从 Mac OSX 终端运行 打开 Visual Studio Codecode 我在这里找到了说明 https code visualstudio com Docs setup https code visualstud
  • AppBarLayout 和 Toolbar 的新 Android 设计库错误

    我正在使用基于此示例的新 Android 设计库克里斯班斯 奶酪广场 https github com chrisbanes cheesesquare在 github 和here http android developers blogsp
  • 未能在 SOAP 上加载外部实体错误

    我称为位于 https 协议上的 Web 服务 我在调用它时收到 无法加载外部实体 错误 正如我在 google 上搜索的那样 这是因为在 PHP5 中 SOAP 类不会解析位于安全 HTTPS 连接上的 WSDL 文件 解决办法是什么 我
  • iOS:检测我的SDK是否安装在设备上的其他应用程序上

    我正在为移动设备开发基于位置的问答 SDK 当询问有关特定位置的问题时 服务器端会定位最相关的用户并将问题发送给该用户 如果用户未能回答 问题将发送给第二好的用户 依此类推 问题是我的 SDK 可能安装在设备上的多个应用程序上 这意味着用户
  • 如何为 Rust 终端应用程序启用可编辑的用户输入?

    我正在用 Rust 编写一个带有经典的基于终端的 REPL 环境项目的最小 Lisp 如何从箭头键读取用户输入 允许他们至少在按下之前在当前输入行上来回移动enter 理想情况下 我将能够扩展功能 包括 返回 以检索旧输入 就像在任何终端或
  • 为什么我们需要其他 JVM 语言

    I see here http www is research de info vmlanguages index html除了 Java 之外 还有很多语言可以在 JVM 上运行 我对在 JVM 中运行的其他语言的整个概念有点困惑 所以
  • WPF Dispatcher.调用“挂起”

    我有一个有点复杂的 WPF 应用程序 当尝试使用调度程序在 UI 线程上调用调用时 该应用程序似乎 挂起 或陷入 Wait 调用中 一般流程是 处理按钮上的点击事件 创建一个新线程 STA 创建演示者和 UI 的新实例 然后调用该方法断开
  • 使用 JFileChooser 设置默认保存扩展名

    我正在尝试使用保存文件JFileChooser 但是 我似乎遇到了一些麻烦 这是我的代码 if e getSource saveMenu JFileChooser chooser new JFileChooser chooser setFi
  • 如何创建比屏幕更大的视图?

    是否可以创建比屏幕更大的视图 我需要一个比设备屏幕宽度更大的视图 我在旋转动画中使用此视图 在旋转过程中 在动画视图之前不在屏幕上的部分将变得可见 有没有办法用android框架实现这种效果 Update 我尝试将父布局设置为比屏幕大得多
  • OpenCV VideoCapture 无法打开许多视频文件

    我在使用 OpenCV 类 VideoCapture 循环打开许多视频文件 例如 200 个 时遇到问题 您可以在下面找到我的代码 更具体地说 我的程序成功打开一定数量的视频 通常是 171 173 但无法打开其他视频 我什至尝试始终打开相
  • Python 3.x - 使用文本字符串作为变量名

    我试图通过使用来避免在代码中增加函数 def Return Label self number 带参数 任何想法如何使用字符串来定义可用于的变量名称 set价值StringVar 示例代码如下 import tkinter as tk fr
  • 在自定义对象上添加事件监听器

    我创建了一个具有多种方法的对象 其中一些方法是异步的 因此我想使用事件以便能够在方法完成时执行操作 为此 我尝试将 addEventListener 添加到该对象 jsfiddle http jsfiddle net 9d7nN var i
  • 如何在 onSaveInstanceState() 中存储值并检索?

    我试图将数组列表的值存储在onSavedInstanceState 并在 onCreate 方法中获取数组列表中的值 但它会引发类似无法暂停活动的错误 这是我的代码 public void onSaveInstanceState Bundl
  • NServiceBus Bus.Send().Register(callback) 不适用于 IIS/Windows Server 2008

    我已经为这个问题苦苦挣扎了几天 但我似乎无法弄清楚 我有一个托管在 IIS 和 Windows Server 2008 R2 上的简单 WCF Web 服务 Web Service的实现如下 var completionResult new
  • 如何使用新的Spring Security AuthorizationManager?

    Spring Security 已将 AccessDecisionManager 和 AccessDecisionVoter 这两个类替换为 AuthorizationManager 很不错 不幸的是 Spring Security 团队再
  • 如何按顺序将计数器写入文件?

    我需要按照出现次数最多到最少出现的顺序向文件写入一个计数器 但我遇到了一些麻烦 当我打印计数器时 它会按顺序打印 但是当我打电话时counter items 然后将其写入一个文件 它会乱序写入它们 我正在尝试使其成为这样 word 5 wo
  • 从 HIVE UDF 读取 HDFS 文件 - 执行错误,返回代码 101 FunctionTask。无法初始化类

    我们一直在尝试创建一个简单的 Hive UDF 来屏蔽 Hive 表中的某些字段 我们使用外部文件 放置在 HDFS 上 来抓取一段文本 以便对屏蔽过程进行加盐 看起来我们一切正常 但是当我们尝试创建外部函数时 它会抛出错误 org apa
  • 使用带有 ADFS 的系统登录 iOS 应用程序

    我有兴趣制作一个登录到使用 ADFS 和 SAML 单点登录的系统的应用程序 现在我很高兴阅读它 我只是想知道是否有任何特定于 iOS 平台的东西以及它如何集成 甚至可能与演示应用程序集成 我找到了这个网站 使用 SAML 和 OAuth
  • MonoMac 是否已被弃用?

    MonoMac 的页面似乎已被放弃 它的最后一次更新似乎是在几年前 因为它说 Mountain Lion 是 新 操作系统 AppKit 的新 Lion 和 Mountain Lion API MonoMac在Xamarin Studio中