PyObjC を使用して Python で Cocoa オブジェクトにアクセスできることを知っています。C++でこれを行うことはできますか? 他にどの言語を使用できますか?
1 に答える
Objective-C ++(.mm拡張子)から直接ObjectiveCクラスを呼び出すことができます。Objective-C ++を使用すると、C++とObjective-Cを混在させることができます
ウィキペディアのページからも:
CocoaフレームワークはObjective-Cで記述されているため、Objective-CはCocoaアプリケーションの開発に適した言語です。Cocoaフレームワーク用のJavaバインディング(「Javaブリッジ」として知られています)も利用できますが、Cocoa開発者の間で人気があることは証明されていません。さらに、ランタイムバインディングの必要性は、Cocoaの主要な機能の多くがJavaでは利用できないことを意味します。2005年、AppleはJavaブリッジが非推奨になることを発表しました。つまり、10.4以降のMac OS XバージョンでCocoaに追加された機能は、Cocoa-Javaプログラミングインターフェイスに追加されません。もともと、Applescript Studioは、それほど複雑でないCocoaアプリケーションの開発に使用できました。[4] ただし、Snow Leopardの時点で、非推奨になっています。ApplescriptObjCに置き換えられました。これにより、Cocoaフレームワークを使用しながらApplescriptでプログラミングできます。[5]他の言語で利用可能なサードパーティのバインディングには、Clozure CL、LispWorks、PyObjC(Python)、RubyCocoa(Ruby)、CamelBones(Perl)、Cocoa#、Monobjc(C#)、NObjective(C#)が含まれます。[6] NuはObjective-Cオブジェクトモデルを直接使用するため、バインディングを必要とせずにCocoaフレームワークを使用できます。また、GNUstepやCocotronなどのクロスプラットフォーム(Microsoft Windowsを含む)のCocoaアプリケーション開発を可能にするCocoaフレームワークの主要部分のオープンソース実装もあります。[6] NuはObjective-Cオブジェクトモデルを直接使用するため、バインディングを必要とせずにCocoaフレームワークを使用できます。また、GNUstepやCocotronなどのクロスプラットフォーム(Microsoft Windowsを含む)のCocoaアプリケーション開発を可能にするCocoaフレームワークの主要部分のオープンソース実装もあります。[6] NuはObjective-Cオブジェクトモデルを直接使用するため、バインディングを必要とせずにCocoaフレームワークを使用できます。また、GNUstepやCocotronなどのクロスプラットフォーム(Microsoft Windowsを含む)のCocoaアプリケーション開発を可能にするCocoaフレームワークの主要部分のオープンソース実装もあります。