Python for iOS(类似于RubyMotion)

23

RubyMotion已经发布,我想知道是否有类似的解决方案可用或即将推出,适用于Python?


4
Kivy声称支持iOS平台,但具体表现如何不得而知。 - Thomas K
刚刚试用了一下Kivy,看起来还不错。iOS版仍在开发中,但似乎大部分功能都能正常使用。 - mmopy
此外: http://itunes.apple.com/us/app/python-for-ios/id485729872?mt=8 - chown
关于iOS上的Python(之前的链接),据我所知它无法回调Objective C/Cocoa组件? - Jacob Oscarson
2个回答

23
RubyMotion不是像Kivy、Papaya、Rhodes等新的跨平台框架,而是基于本地iOS语言Objective-C实现的Ruby编程语言。因此,RubyMotion对象是Obj-C对象,但您可以使用动态Ruby语法和习惯来处理它,而不是静态导向的Objective-C方法。
您仍然必须学习Apple SDK,只是用“无缝”的Ruby代码与其交互。例如,使用Titanium,您需要学习适用于多个操作系统的平台API,尽管会出现UI不匹配和性能损失的情况。
MacRuby是RubyMotion的桌面前身,其Python类比是PyObjC。对于我来说,PyObjC的Sourceforge网站看起来已经停滞不前(最后更新于2009年末),所以有人首先需要将其恢复,然后进行类似的修改(将垃圾收集式内存管理替换为某种形式的自动引用计数和二进制编译),以构建类似的Python解决方案,用于iOS。
我不希望它很快就从天而降,但总是欢迎惊喜。

4
你不能真正地比较 PyObjC 和 Macruby,PyObjC 是一个类似于 RubyCocoa 的桥接器,就像你已经说过的那样,而 MacRuby 则是建立在 ObjC 运行时之上的 Ruby。 由于 PyObjC 是一个桥接器,因此替换其中的垃圾回收器是行不通的。 - Sean Mateus
1
接着原生的iOS语言Objective-C,但并不完全一样。它是在Objective-C运行时二进制之上实现Ruby语言的。而Objective-C则是在Objective-C运行时之上实现Objective-C语言的。 - johnrubythecat

1

这取决于你想要什么以及为什么需要。Papaya做了他们所谓的社交引擎(实际上是为游戏而设计的)。但你可以用Python来编写它。http://papayamobile.com/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接