Właśnie zaczynam uczyć się o integracji aplikacji Python i Mac OS. (Chcę wywołać niektóre metody z Cocoa do Pythona). Wcześniej zapoznałem się z tymi terminologiami - Scripting Bridge, PyObjC i py2app. Co za różnica? Czy PyObjC jest przykładem mostka skryptowego? A kiedy do gry wchodzi py2app?Mostek skryptowy vs PyObjC vs py2app
Odpowiedz
Krótka wersja: PyObjC to sposób, w jaki nazywane są interfejsy API systemu Mac OS X, Mostek skryptowy to sposób, w jaki rozmawiasz z interfejsami skryptowymi innych aplikacji. Bardziej szczegółowo:
PyObjC to pomost pomiędzy językiem Python a środowiskiem Objective C (i zestawem wrapperów Cocoa zbudowanych trywialnie na wierzchu tego mostu i fajnymi dodatkami). Jeśli chcesz wywołać metody Cocoa, użyj PyObjC, zazwyczaj importując albo kakao albo podkład.
Mostek skryptowy to pomost pomiędzy językiem Python a systemem skryptów Apple Event. Jeśli chcesz zadzwonić do interfejsu skryptów innej aplikacji, skorzystaj ze skryptu Bridge. (W większości przypadków, jeśli używasz Scripting Bridge, będziesz również chciał zaimportować Foundation, ponieważ Scripting Bridge radzi sobie z takimi rzeczami jak NSArrays, itp.)
Tak więc PyObjC nie jest przykładem mostka skryptowego. Przykładem mostu skryptowego jest, no cóż, Mostek skryptowy lub Appscript (który jest lepszy, ale nie pochodzi od Apple i nie jest już konserwowany).
py2app nie ma nic wspólnego z żadnym z nich; jest to sposób na zawarcie aplikacji Python, wraz ze wszystkimi wymaganymi modułami rozszerzeń, a także niezbędną ilością interpretera języka Python, do pojedynczego pakietu .app, który można rozpowszechniać wśród użytkowników, aby mogli dwukrotnie kliknąć Uruchom. Oczywiście większość takich aplikacji będzie miała GUI, a wiele z nich będzie używać PyObjC do tworzenia tych GUI bezpośrednio w Cocoa (zamiast używać np. PyQt lub wxPython), ale poza tym nie ma prawdziwego połączenia.
- 1. Który język skryptowy działa lepiej w porównaniu z vs perl vs python vs ruby?
- 2. Ruby vs Lua jako język skryptowy dla C++
- 3. metoda vs funkcja vs procedura vs klasa?
- 4. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 5. Opa vs Dart vs Haxe vs coffeescript
- 6. VS 2008 vs VS 2008 Express
- 7. Strona vs Extent vs. Segment vs. Tabele
- 8. Crystalspace vs. Irrlicht vs. .....?
- 9. NetSqlAzMan vs AzMan vs (?????)
- 10. SpiderMonkey vs JavaScriptCore vs?
- 11. Klasa vs pakiet vs moduł vs komponent vs kontener kontra serwis vs platforma w świecie Java
- 12. Zmierz czas w Linuksie - czas vs zegar vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
- 13. IDataErrorInfo vs ValidationRule vs Exception
- 14. Boo vs C# vs Python?
- 15. DbConnection vs OleDbConnection vs OdbcConnection
- 16. Matlab vs Aforge vs OpenCV
- 17. DDS vs AMQP vs ZeroMQ
- 18. ScheduledExecutorService vs Timer vs Handler
- 19. flume vs kafka vs inni
- 20. ActiveMQ vs Apollo vs Kafka
- 21. getBBox() vs getBoundingClientRect() vs getClientRects()
- 22. Object vs Class vs Function
- 23. Wskaźniki vs auto_ptr vs shared_ptr
- 24. fadeIn fadeOut vs vs fadeTo
- 25. DMD vs. GDC vs. LDC
- 26. select vs poll vs epoll
- 27. Xamarin vs. Mono vs. Monodevelop
- 28. rmi vs servlets vs gniazda
- 29. filter_var vs htmlentities vs htmlspecialchars
- 30. managedQuery() vs context.getContentResolver.query() vs android.provider.something.query()
Ponadto, w zależności od tego, z którymi aplikacjami próbujesz się zintegrować, możesz znaleźć 'py-appscript' lepszy wybór niż Scripting Bridge. Nie zniechęcaj się z powodu wyłączenia dla deweloperów, jest to wciąż najlepszy interfejs skryptowy do obsługi zdarzeń w firmie Apple, w szczególności do aplikacji z funkcyjnymi interfejsami skryptowymi. http://pypi.python.org/pypi/appscript/ –
Jak wspomniałem powyżej, Appscript nie jest już utrzymywany. W rzeczywistości nie akceptuje już nawet łat od innych ludzi. W końcu przestanie działać, chyba że ktoś inny to przejmie. Mimo to wciąż używam go w wielu aplikacjach, zarówno Python, jak i ObjC, i będę go łatał, zamiast przełączać się na Scripting Bridge i próbować obejść problemy z iTunes i Finderem ... Ale zawsze czuję się zmartwiony o poleceniu go nowym użytkownikom. – abarnert
Przepraszamy. Przeoczyłem twoją wzmiankę o Appscript. Zgadzam się z twoją oceną. –