PyObjc vs RubyCocoa for Mac开发:哪个更成熟?

2024-09-28 01:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直想玩Ruby或Python,同时我也想做一点Cocoa编程。在

因此,我认为实现这两个目标的最佳方法是使用Ruby或Python-to-Objective-C桥(PyObjc或rubycooa)开发一些东西。在

我知道为了获得最好的学习体验,我会独立学习每一门技术,但我没有时间。:)

所以我的问题是哪个平台更成熟,PyObc还是RubyCocoa,我主要在寻找:

  1. API文件
  2. 教程
  3. 工具
  4. 支持社区
  5. 可通过桥梁获得可可原料的完整性

关于第5点,我不希望整个cocoaapi可以通过任何一个桥使用,但是我需要有足够的cocoaapi来开发一个正常运行的应用程序。在


Tags: to方法目标编程时间pyobjc平台技术
3条回答

我认为两者大致相等。有的地方好,有的地方差。但我不建议用这两种方法来学习可可。就像克里斯说的,Cocoa需要对Objective-C有一定的了解,我更喜欢Ruby而不是Objective-C,但我还是不建议用它来学习Cocoa。一旦你有一个坚实的基础(没有双关打算)可可/ Objul-C,那么桥梁可能对你有用。在

当你说你“没有时间”独立学习技术时,学习Cocoa最快的途径仍然是用它的母语Objective-C学习它。一旦你理解了Objective-C,并且已经掌握了Cocoa框架的最初学习曲线,那么学习PyObjC或rubycoca的时间就会轻松得多。在

我将附和克里斯的评价,并将进一步说明为什么你应该学习Objective-C来学习可可。正如克里斯所说,Objto-C是可可的基础和本族语,它的许多范例与这一谱系密不可分。具体来说,实现Cocoa技术(如分布式对象和绑定)需要选择器和动态消息解析以及在运行时修改类的能力。尽管这些特性在其他动态语言(如Ruby和Python)中也可用,但是语言模型中存在的不匹配之处已经足够多了,您至少需要了解Objective-C才能理解Cocoa。我建议您看一下前面的问题进行进一步讨论:Do I have to learn Objective-C for professional Mac Development?

幸运的是,Objective-C很容易学习。我经常告诉人们,他们将花一天时间学习C/C++或java或LISP、方案或任何新的动态语言如Ruby和Python来实现ObjuleC。除了稍微扩展一下你的思维之外,你将至少学会阅读几乎所有Cocoa文档和示例中使用的代码。在

至于Ruby和Python,桥接功能非常相似。事实上,它们都使用苹果的BridgeSupport(Leopard附带)来提供桥的描述。两者都得到了苹果和豹子的支持。你喜欢哪种语言取决于个人品味。如果你选择Ruby,我建议你看看MacRuby。它无疑是Ruby on OS X的未来,因为它在Objective-C运行时之上重新实现了Ruby运行时。这提供了一些很好的性能和概念上的优势(包括与Objective-C垃圾收集系统的集成,这是使用本机pythongc的PyObjC目前缺少的特性)。MacRuby还包括一个自定义解析器,它使桥接的objective-c方法的语法更好一些。MacRuby的缺点是,在撰写本文时(2009年6月),它还没有完全准备好用于生产级的使用。因为听起来这是一个学习项目,这可能不是一个问题。在

相关问题 更多 >

    热门问题