2012-05-29 35 views
1

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

我對兩者都很感興趣,除了價格差異很大,IDE和調試器,我可以預期更好的內存管理和Rubymotion的速度嗎?

+0

不要以爲你會從動態語言(比如ruby)和靜態的強類型語言中獲得更多的速度。 – jonathanpeppers

+0

RubyMotion在運行時不是動態語言,我認爲傳統的靜態/動態參數不成立。 –

+0

在某個地方仍然有翻譯步驟。他們的網站稱開發是交互式的,您對代碼所做的更改會在應用程序中實時生效。這意味着某些東西是動態的,而某些東西被解釋。無論哪種情況,我認爲RubyMotion比MonoTouch更好,或者反過來也不值得爭論。他需要使用他已知的語言。 – jonathanpeppers

回答

4

我認爲你應該只使用最適合你的東西。

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

我認爲衡量一個對另一個的優劣並不值得。我是C#Windows開發人員,我使用MonoTouch。我喜歡用一行代碼解析XML,使用Linq,Lambda表達式等等,所以我肯定會想要使用C#。

如果您習慣於Ruby來編程其他項目,請使用RubyMotion。儘管RubyMotion相當新穎,但它可能不如使用MonoTouch或普通XCode成熟。在我看來,使用Ruby或C#而不是Obj-C造成的性能損失與生產力和易維護性相比可以忽略不計(如果您不知道Objective- C)。

0

兩者都應該具有相似的性能水平,但如果需要精細優化的話,最好在這些情況下跳到C或C++。 RubyMotion使用自動引用計數而不是垃圾收集。運行時集成類似,但兩者不同。 MonoTouch使用包裝器,將調用約定轉換爲與Obj-C運行時集成。 RubyMotion可以直接調用Obj-C。儘管技術上RubyMotion在MRI Ruby上擁有自己的基於運行時的鬆散運行時間,但它與Obj-C運行時集成在一起,沒有開銷,並且看起來是無縫的。這與Apple免費橋接工作方式類似。如果您不喜歡編寫包裝或想使用元編程,RubyMotion可能會更好。 RubyMotion在模擬器之外沒有解釋器。如果您正在解決更適合泛型或靜態類型系統的問題,MonoTouch可能會更理想。 RubyMotion具有RubyMine IDE,MonoTouch包含一個IDE。兩者都支持調試。如果您計算RubyMine的價格,價格大致相同。