2012-05-04 5 views
23

RubyMotion был выпущен, и мне интересно, если подобное решение доступно или подходит для Python?Python для iOS (как RubyMotion)

+4

[Kivy] (http://kivy.org/#home) утверждает, что поддерживает iOS - не знаю, насколько это хорошо. –

+0

Только что проверил Kivy, и это выглядит довольно хорошо. iOS все еще находится в разработке, но похоже, что он работает в основном. – mmopy

+0

Также: http://itunes.apple.com/us/app/python-for-ios/id485729872?mt=8 – chown

ответ

23

RubyMotion не является новой кросс-платформенной платформой (например, Kivy, Papaya, Rhodes и т. Д.), А является реализацией языка программирования Ruby НА ВЕРХНИИ родного языка iOS Objective-C. Из-за этого объект RubyMotion IS Объект Obj-C, но вы можете использовать динамический синтаксис Ruby и идиомы, чтобы справиться с ним, вместо статических ориентированных подходов Objective-C.

Вы все еще должны изучить Apple SDK, вы просто поговорите с ним с помощью «бесплатного» кода Ruby. Например, с Titatnium вы узнаете API-интерфейсы платформы, которые работают на нескольких ОС, хотя и с учетом несоответствий пользовательского интерфейса и штрафов за производительность.

MacRuby является настольным прародителем RubyMotion, а аналогом Python для него будет PyObjC. Sourceforge site для PyObjC выглядит бездействующим для меня (последнее обновление в конце 2009 года), поэтому кто-то должен его сначала оживить, а затем внести аналогичные изменения (заменяя управление памятью стиля коллекции мусора с помощью некоторой формы автоматического подсчета ссылок и бинарной компиляции), чтобы для создания аналогичного решения Python для iOS.

Я бы не ожидал, что он скоро выпадет из неба, но сюрпризы всегда приветствуются.

+4

Вы не можете сравнить PyObjC и Macruby, PyObjC - это мост, подобный [RubyCocoa] (http://sourceforge.net/projects/rubycocoa/), как вы уже сказали, MacRuby - это Ruby поверх времени выполнения ObjC. Замена сборщика мусора из PyObjC не будет работать, так как это мост. –

+0

Спасибо за разъяснение, Шон. – SciPhi

+1

>> НА ВЕРХНИЙ родной язык iOS Objective-C. Закрыть, но не совсем. Это реализация языка Ruby поверх двоичного файла Objective-C Runtime. Objective-C - это реализация языка Objective-C в верхней части среды выполнения Objective-C. – johnrubythecat

1

Зависит от того, что вы после и зачем. Папайя делает то, что они называют социальным движком (для игр действительно). Но вы можете писать с Python для этого. http://papayamobile.com/