Python と Mac OS アプリの統合について学び始めたところです。(Cocoa から Python へのいくつかのメソッドを呼び出したいと考えています。) Scripting Bridge、PyObjC、および py2app という用語に出くわしました。違いは何ですか?PyObjC はスクリプト ブリッジの例ですか? いつpy2appが登場しますか?
1 に答える
短いバージョン:PyObjCはMac OS X APIを呼び出す方法であり、ScriptingBridgeは他のアプリのスクリプトインターフェイスと通信する方法です。さらに詳細に:
PyObjCは、Python言語とObjective Cランタイムの間のブリッジです(そして、そのブリッジの上に簡単に構築されたCocoaラッパーのセットといくつかの便利なもの)。Cocoaメソッドを呼び出す場合は、通常、CocoaまたはFoundationのいずれかをインポートしてPyObjCを使用します。
Scripting Bridgeは、Python言語とAppleEventベースのスクリプトシステムの間のブリッジです。別のアプリのスクリプトインターフェイスを呼び出す場合は、ScriptingBridgeを使用します。(ほとんどの場合、Scripting Bridgeを使用している場合は、Foundationもインポートする必要があります。これは、Scripting BridgeがNSArrayなどを処理するためです。)
したがって、PyObjCはスクリプトブリッジの例ではありません。スクリプティングブリッジの例としては、スクリプティングブリッジ、またはAppscriptがあります(これは優れていますが、Appleからのものではなく、現在は保守されていません)。
py2appは、これらのいずれとも関係がありません。これは、Pythonアプリケーションを、必要なすべての拡張モジュールと、必要なだけのPythonインタープリターとともに、ユーザーに配布できる単一の.appバンドルにまとめて、ユーザーがダブルクリックするだけで済むようにする方法です。それを実行します。もちろん、そのようなアプリのほとんどはGUIを備えており、それらの多くはPyObjCを使用して(PyQtやwxPythonなどを使用するのではなく)Cocoaで直接GUIを作成しますが、それ以上は実際の接続はありません。