Я только начинаю узнавать об интеграции приложений Python и Mac OS. (Я хочу вызвать некоторые методы из Cocoa в Python.) Я столкнулся с этими терминологиями: скриптовый мост, PyObjC и py2app. Какая разница? Является ли PyObjC примером скриптового моста? И когда вступает в игру py2app?Scripting Bridge vs PyObjC vs py2app
ответ
Краткая версия: PyObjC - это то, как вы называете API Mac OS X, скриптовый мост - это то, как вы разговариваете с интерфейсами сценариев других приложений. Более подробно:
PyObjC - это мост между языком Python и временем выполнения Objective C (и набор оберток Cocoa, созданный тривиально поверх этого моста и некоторые приятные удобные вещи). Если вы хотите вызвать методы Cocoa, вы используете PyObjC, как правило, путем импорта Cocoa или Foundation.
Scripting Bridge - это мост между языком Python и системой сценариев Apple, основанной на событиях. Если вы хотите вызвать скриптовый интерфейс другого приложения, вы используете Scripting Bridge. (В большинстве случаев, если вы используете Scripting Bridge, вы также захотите импортировать Foundation, потому что Scripting Bridge имеет дело с такими вещами, как NSArrays и т. Д.)
Итак, PyObjC не является примером скриптового моста. Примером скриптового моста является, например, скриптовый мост или приложение Appscript (что лучше, но не от Apple, и больше не поддерживается).
py2app не имеет ничего общего с этим; это способ обернуть приложение Python вместе со всеми необходимыми ему модулями расширения и, насколько это необходимо, интерпретатором Python, в один пакет .app, который вы можете распространять среди пользователей, чтобы они могли просто дважды щелкнуть запустить его. Конечно, большинство таких приложений будут иметь графические интерфейсы, и многие из них будут использовать PyObjC для создания этих графических интерфейсов непосредственно в Cocoa (вместо использования, например, PyQt или wxPython), но помимо этого нет реального соединения.
- 1. iOS bridge vs bridge_transfer
- 2. py2app, pyObjc & macports ошибки компиляции
- 3. Visual Scripting vs Coding
- 4. DTS vs. SSIS vs. Informatica vs. PL/SQL Scripting
- 5. AppleScript VLC Scripting Bridge
- 6. Scripting Bridge: Объединение SBElementArrays
- 7. C# scripting vs C# programming
- 8. pimpl idiom vs. bridge design pattern
- 9. Scripting Bridge и Apple Mail
- 10. QuickTimeX в Applescript/Scripting Bridge
- 11. Динамический прокси vs Scripting in java
- 12. Shell Scripting: Echo vs save to variable
- 13. Spring Batch vs {Any Scripting Language}
- 14. scripting добавляет с document.write vs. jQuery append
- 15. Ошибка «DOM/scripting bridge disabled» в Blend
- 16. классы Scripting Bridge с Swift 3
- 17. Использование Apple Scripting Bridge в C
- 18. ITunes Scripting Bridge выявить не работает
- 19. XSS - SQL Injection - Owasp vs AntiXss vs Microsoft Anti-Cross Site Scripting Library
- 20. Создает ли встроенный VS VS VS VS 2010
- 21. FTP vs SFTP vs HDFS vs NTFS vs EXT2, EXT3
- 22. Сравнение lz4 vs lz4_hc vs blosc vs snappy vs fastlz
- 23. IDE vs Library vs SDK vs Framework vs Toolkit
- 24. J2ME VS Android VS iPhone VS Symbian VS Windows CE
- 25. VS 2013 MSTest vs nUnit vs xUnit
- 26. Rhino mock vs Typemock vs JustMock vs
- 27. control.BeginInvoke() Vs Dispatcher Vs SynchronizationContext Vs .. - НАДЕЖНОСТЬ
- 28. LocalAlloc Vs GlobalAlloc Vs malloc Vs new
- 29. DynamicProperty vs MutableProperty vs AnyProperty vs ConstantsProperty
- 30. inline vs __inline vs __inline__ vs __forceinline?
Кроме того, в зависимости от того, с какими приложениями вы пытаетесь интегрироваться, вы можете найти «py-appscript» лучшим выбором, чем Scripting Bridge. Не отвлекайтесь на отказ от устаревания разработчика, он по-прежнему является лучшим интерфейсом сценариев Apple Event, особенно для приложений с фанковыми интерфейсами сценариев. http://pypi.python.org/pypi/appscript/ –
Как уже упоминалось выше, Appscript больше не поддерживается. Фактически, он даже не принимает патчи от других людей. В конце концов, он перестанет работать, если кто-то еще не справится с этим. При этом я все еще использую его в нескольких приложениях, как Python, так и ObjC, и я буду исправлять его сам, а не переключиться на Scripting Bridge и попытаться обойти проблемы с iTunes и Finder ... Но я всегда чувствую беспокойство о рекомендациях для новых пользователей. – abarnert
Извините. Я забыл ваше упоминание о приложении. Я согласен с вашей оценкой. –