簡體   English   中英

PyObjC / Ruby橋。 值得嗎?

[英]PyObjC / Ruby bridge. Is it worthwhile ?

多年前,我想編寫Mac軟件並擁有Java WebObjects的豐富經驗,我嘗試了java橋,但決定咬緊牙關並學習Objective-C(幸運的是,因為我討厭讓我的軟件在橋上棄用)。 后來我騙了RubyCocoa。 我學習了Ruby(確實發現它很有趣),但發現橋很難成熟或穩定,最后我結束了將代碼移植回Objective-C。

多年過去了,我想知道是否值得花一些時間與MacRuby,甚至學習Python來使用PyObjC。 盡管我喜歡Objective-C,但我還記得當它沒有崩潰時,使用Ruby橋會提高效率。 我只是討厭投入時間再次使用崩潰的軟件。

如果你想嘗試其中一座橋梁,我會說MacRuby是要走的路。 它由Laurent Sansonetti開發,他是Apple的高級軟件工程師,從事Ruby工作。

它現在非常實用,並且與本機框架很好地集成。 值得一看,特別是如果你已經擁有Ruby經驗。

如果您想學習Cocoa編程,請忽略橋接。 它們只會使編寫Cocoa應用程序變得更加困難,並且您將浪費大量時間來加快速度。

具體來說,您需要學習Objective-C才能理解系統框架的API和設計模式。 此外,所有文檔和工具都是專門為支持Objective-C而編寫的。

學習Cocoa編程的大部分時間將用於所述API和設計模式; 相比之下,實際語言部分相對較小。

還要注意,橋接器必然會產生阻抗不匹配,試圖將不完全相同的功能從一種語言映射到另一種語言。

坦率地說,如果你了解Ruby,那么Objective-C應該很簡單; 對象模型非常相似。

這就是為什么它不浪費時間。 在某些情況下,Ruby和Python擁有令人敬畏且發展良好的庫,這些庫在Objective-C中不可用,並且不太可能。 這是最好的用例之一。

示例:您不希望在Objective-C中重新實現Rails(有些人可能會),但您可以輕松地使用它,部分內容可以通過MacRuby為Cocoa應用程序提供支持。

好吧,MacRuby死了。 有商業RubyMotion。

還有PyObjc,RubyCocoa和mruby。

其他一些有趣的用例是提供不像AppleScript和OSA那樣惡劣的腳本功能。

有正當理由。

我的個人意見是使用ObjC for Mac原生應用程序。

使用Ruby / Python,他們應該在本地工作良好,沒有不可靠的接口和可疑的支持。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM