2012-05-04 7 views
23

RubyMotion został wydany, i zastanawiam się, czy podobne rozwiązanie jest dostępne, czy też nadchodzi Python?Python dla iOS (jak RubyMotion)

+4

[Kivy] (http://kivy.org/#home) twierdzi, że wspiera iOS - nie ma pojęcia, jak to dobrze. –

+0

Właśnie sprawdziłem Kivy i wygląda całkiem nieźle. iOS jest wciąż rozwijany, ale wygląda na to, że w większości działa. – mmopy

+0

Również: http://itunes.apple.com/us/app/python-for-ios/id485729872?mt=8 – chown

Odpowiedz

23

RubyMotion nie jest nową platformą wieloplatformową (np. Kivy, Papaya, Rhodes itp.), Ale raczej implementacją języka programowania Ruby NA POCZĄTKU natywnego języka iOS w języku Objective-C. Z tego powodu obiekt RubyMotion jest obiektem Obj-C, ale można użyć dynamicznej składni i idiomów Ruby, aby poradzić sobie z tym, zamiast podejścia zorientowanego statycznie na Objective-C.

Musisz nauczyć się Apple SDK, po prostu porozmawiaj z nim za pomocą "bezpłatnego" kodu Ruby. Na przykład Titatnium uczy się interfejsów API tej platformy, które działają na wielu systemach operacyjnych, jednak kosztem niedopasowania interfejsu i kar umownych.

MacRuby to pulpit progenitorowy RubyMotion, a analogiem do Pythona będzie PyObjC. Wersja Sourceforge site dla PyObjC wygląda na uśpioną (ostatnia aktualizacja pod koniec 2009 r.), Więc ktoś musiał najpierw ją ożywić, a następnie wprowadzić podobne modyfikacje (zastępując zarządzanie pamięcią stylu kolekcji przy pomocy pewnej formy automatycznego liczenia odnośników i kompilacji binarnych) w celu zbudować podobne rozwiązanie Python dla systemu iOS.

Nie spodziewałbym się, że spadnie z nieba w najbliższym czasie, ale niespodzianki są zawsze mile widziane.

+4

nie można tak naprawdę porównać PyObjC i Macruby, PyObjC jest mostem podobnym do [RubyCocoa] (http://sourceforge.net/projects/rubycocoa/), jak już powiedziałeś, MacRuby jest Ruby w górnej części runtime ObjC. Zastąpienie Garbage collectora z PyObjC nie będzie działało, ponieważ jest mostem. –

+0

Dzięki za wyjaśnienie, Sean. – SciPhi

+1

>> NA GÓRZE Natywnego języka iOS w języku Objective-C. Zamknij, ale nie do końca. Jest to implementacja języka Ruby na binarnym środowisku wykonawczym Objective-C. Objective-C jest implementacją języka Objective-C w środowisku wykonawczym Objective-C. – johnrubythecat

1

Zależy od tego, po co się znajdujesz i po co. Papaja robią to, co nazywają silnikiem społecznościowym (naprawdę dla gier). Ale możesz to napisać w Pythonie. http://papayamobile.com/