为什么PyObjC文档这么差?

17 投票
9 回答
4377 浏览
提问于 2025-04-11 00:10

比如说,http://developer.apple.com/cocoa/pyobjc.html 这个链接还是针对 OS X 10.4 Tiger 的,而不是 10.5 Leopard。这还是苹果官方的文档呢。

官方的 PyObjC 页面也同样糟糕,http://pyobjc.sourceforge.net/

糟糕到让人困惑。我甚至在考虑学习 Ruby,主要是因为 RubyCocoa 的文档要好得多,还有很多不错的教程(比如 http://www.rubycocoa.com/),再加上 Shoes GUI 工具包。

甚至连这个翻译得很糟糕的日文教程都比我找到的其他文档有用。

我只想用 Cocoa GUI 创建一些相对简单的 Python 应用程序。
有没有人能解释一下这糟糕的文档,或者给我推荐一些教程,不要只是给一大堆代码块,还假设你知道 NSThread.detachNewThreadSelector_toTarget_withObject_("queryController", self, None) 是干嘛的……?

9 个回答

21

直接说吧:

如果你想成为一个优秀的Cocoa程序员,你必须学习Objective-C。这就是重点。

Python和Ruby并不能替代Objective-C,即使它们有各自的桥接工具。你仍然需要了解Objective-C的API,以及NSObject类的特性,还有很多Cocoa的其他细节。

PyObjC和RubyCocoa是从Cocoa应用程序中访问Python或Ruby功能的好方法,包括主要用Python或Ruby构建Cocoa应用程序。但要成功,你必须对Cocoa和它所包含的Objective-C API有透彻的理解。

31

PyObjC缺少文档的主要原因是因为只有我一个开发者,而像大多数开发者一样,我并不是特别喜欢写文档。对我来说,PyObjC只是一个副项目,所以我更倾向于专注于添加新功能和修复bug,因为那样对我来说更有趣。

想要改善文档的最好办法就是主动在pyobjc-dev邮件列表上提供帮助。

顺便提一下,pythonmac-sig邮件列表(可以在谷歌上找到)是一个很好的资源,可以帮助你解决在MacOSX上使用Python的问题(不仅仅是PyObjC)。

21

我同意那个教程有问题,里面随便扔了一些没解释的代码,让人看得一头雾水。它提到了一些概念,比如自动释放池和用户默认设置,但没有解释为什么你需要这些东西(“自动释放池用于内存管理”根本算不上解释)。

话虽如此……

我基本上只想写Cocoa应用程序,而不想学习ObjC。

我担心的是,目前你确实需要对ObjC有个基本的了解,才能从任何使用Cocoa的语言中获益。像PyObjC、RubyCocoa、Nu等这些语言,最多也就是小众选择,而且它们都是由对ObjC和Cocoa非常熟悉的人开发的。

现在,如果你能把这些桥梁看作在脚本语言真正发挥作用的地方,那你会受益更多,而不是试图用它们来构建整个应用程序。虽然确实有人这么做过(比如LimeChat,我现在正在用的就是一个用RubyCocoa写的应用),但这种情况很少见,而且可能还会持续一段时间。

撰写回答