有没有人花时间比较Mono的各种Objective C桥和相关的Cocoa包装器?
我想将现有的C#应用程序移植到OS X上运行。理想情况下,我将在Mono上运行该应用程序,并为其构建本机Cocoa UI。
我想知道哪座桥是最好的选择。
如果它对任何人都有用,这里有一些我到目前为止找到的桥梁的链接:
CocoSharp - 在OS X上与Mono一起发布 - www.cocoa-sharp.com
Monobjc - 比其他人更好的文档(在我看来) - www.mono-project.com/CocoaSharp和www.monobjc.net
无目标 - (显然)比其他人更快 - code.google.com/p/nobjective
MObjc / MCocoa - code.google.com/p/mobjc和code.google.com/p/mcocoa
ObjC# - www.mono-project.com/ObjCSharp
答案 0 :(得分:5)
Mono团队发布了一座名为MonoMac的新桥。
它基本上是他们为iPhone制作的MonoTouch框架的桌面版本。
Miguel在他的博客上宣布了这座新桥:http://tirania.org/blog/archive/2010/Apr-19.html
一旦MonoMac成熟,我怀疑它将成为人们使用的 桥。
答案 1 :(得分:3)
我最近用F#尝试了Monobjc,NObjective和MObjc / MCocoa,我会选择MObjc / MCocoa。
Monobjc就像你写的最好的文档和打包,但与其他两个非常slow相比,并没有从ObjC“重新抛出异常”。
我相信NObjective和MObjc / MCocoa是唯一一个重新抛出ObjC异常的人,这就是为什么我发现它们是唯一真正的替代品。
正如所讨论的那样here NObjective使用带有继承的结构,我发现它非常可怕并且让我最终选择了MObjC / MCocoa。
(你可能也有许可证问题.Monobjc和NObjective属于LGPL,MObjc / MCocoa属于麻省理工学院......)
答案 2 :(得分:1)
我认为NObjective是最好的选择因为它具有Objective-C包装器的自动代码生成功能,可以轻松配置为其他版本的Mac OS重新生成包装器。
答案 3 :(得分:1)
答案 4 :(得分:1)
在Mono-OSX邮件列表上对各种桥梁进行了相当冗长的讨论。
讨论从Miguel开始here:
如果您阅读其余讨论内容,Mono社区似乎倾向于Monoobjc或MObjc / MCocoa;因此,如果您正在进行自己的调查,可能需要关注这些问题。
答案 5 :(得分:0)
不会问为什么,因为你有理由我确定。
我会看一下Unity3D项目,看看你是否能够证明他们是如何做到的。看起来,嗯,很难。