PyObjC i Cocoa kontra PyQt4
14 June 2009
Comments
Mając chwilę czasu na zabawę z Pythonem pod Mac OS X postanowiłem się przyjrzeć bardziej natywnej formie tworzenia aplikacji napisanych w Pythonie pod tą platformę.
Leopard i wydane wraz z nim (i nowsze) wersje XCode posiadają prosto z pudełka wsparcie dla PyObjC - mostu pomiędzy Objective-C a Pythonem. Za pomocą IDE (XCode) możemy utworzyć projekt Cocoa-Python, graficznie zbudować interfejs, graficznie łączyć elementy interfejsu z naszymi kontrolerami w kodzie... niby fajnie, ale jest parę "ale".- Brak dobrej i czytelnej dokumentacji dla PyObjC, brak prostego tutoriala wprowadzającego w tworzenie prostej aplikacji z GUI i obsługę dostępnych narzędzi. Istnieje wprawdzie tutorial An Epic Introduction to PyObjC and Cocoa, ale to praktycznie jedyny aktualny tutorial, którego autor zakłada że znamy mniej lub bardziej biblioteki i narzędzia Leoparda. Generalnie trzeba siedzieć z dokumentacją do Objective-C i "przekładać" to na Pythona samemu.
- Jak sam projekt się określa, PyObjC to "most" pomiędzy Objective-C a Pythonem, przez co kod w Pythonie wygląda czasami dziwnie. Np. wywołania metod Objective-C z Pythona:
def dragImageForRowsWithIndexes_tableColumns_event_offset_(self,dragRows,tableColumns,dragEvent,dragImageOffset): pass
- Stworzona aplikacja będzie działać tylko na jednej platformie.
- Bazując na swoich odczuciach i opiniach z różnych blogów - PyObjC jest "zrozumiały i przyjemny" dla programistów znających architekturę i biblioteki OS X. Nie potrafią przyswoić generalnie tworzenia GUI w stylu PyQt4/PyGTK+. Programiści przychodzący z zewnątrz mają na odwrót - nie mogą ogarnąć PyObjC :)
RkBlog
Comment article