rubymotion提供比monotouch更好的性能和垃圾收集?

时间:2012-05-29 12:52:41

标签: xamarin.ios rubymotion

ruby​​motion提供比monotouch更好的性能和垃圾收集吗?

我对这两者感兴趣,除了价格差异很大,IDE和调试器都可以 我期待更好的内存管理和Rubymotion的速度?

2 个答案:

答案 0 :(得分:4)

我认为你应该只使用最适合自己的东西。

如果您了解Ruby:使用RubyMotion,Objective-C:使用XCode,C#:使用MonoTouch。

我认为衡量一方与另一方的优点是不值得的。我是C#Windows Dev,我使用的是MonoTouch。我喜欢在一行代码中使用Linq,Lambda表达式等解析XML,所以我肯定会想要使用C#。

如果您习惯使用Ruby编程其他项目,请使用RubyMotion。虽然RubyMotion相当新,但它可能不如使用MonoTouch或普通XCode成熟。

在我看来,使用Ruby或C#而不是Obj-C所造成的任何性能损失与生产力和易维护性的提高相比可以忽略不计(如果你不了解Objective-C,那么学习曲线会更小) )。

答案 1 :(得分:0)

两者都应具有相似的性能水平,但如果需要对某些内容进行精细优化,那么在这些情况下最好跳转到C或C ++。 RubyMotion使用自动引用计数而不是垃圾回收。运行时集成类似,但两者之间不同。 MonoTouch使用包装器将转换约定转换为与Obj-C运行时集成。 RubyMotion可以直接调用Obj-C。虽然从技术上讲,RubyMotion在MRI上有松散的运行时间,但它与Obj-C运行时集成,没有开销,看起来是无缝的。它类似于Apple的免费桥接工作方式。如果您不喜欢编写包装器或想要使用元编程,RubyMotion可能会更好。 RubyMotion在模拟器之外没有解释器。如果您要解决更适合于泛型或静态类型系统的问题,MonoTouch可能更理想。 RubyMotion具有RubyMine IDE,MonoTouch包含IDE。两者都支持调试。如果计算RubyMine的价格,价格差不多。