2012-04-20 14 views
7

私には次の要件があります。Cocoaフレームワーク、ライブラリ、バンドルのメリットとデメリットは何ですか?

Macでdllを実装する必要があります。動的にロードできるバックエンドライブラリを作成する必要があります。このバックエンドライブラリには、CocoaクラスとC++クラスが含まれています。

ココアフレームワークのメリットとデメリットは何ですか、私はこれまでにグーグルで調査していましたが、私は最高のものを見つけられませんでした。私には何か提案してください。

+0

「より良い」と定義します。 –

+0

ライブラリ/バンドルと比較して、ココアフレームワークの長所と短所は何ですか? – Akbar

答えて

9

ダイナミックライブラリとフレームワークの主な違いは、フレームワークにリソース(イメージ、サウンドファイル、ペンなど)とヘッダーファイルが含まれることです。ダイナミックライブラリを使用する場合、これらは別々です。

実行時にフレームワークとダイナミックライブラリの両方がロードされます。ライブラリをMac OS Xでのみ使用する場合は、すべてが1つのフォルダに収められているため、管理が簡単なため、フレームワークを作成することをお勧めします。

バンドル(白いLEGOレンガ)は、プラグインとしてほぼ独占的に使用されています。プラグインインターフェイスを作成する場合は、バンドルを受け入れる必要があります。バンドルがリンクできるフレームワークを提供する必要があります。バンドルは実行時にもロードされます。

+0

あなたの答えをありがとう、再び混乱して、どのようにライブラリから区別するプラグイン。 – Akbar

+0

プラグインはオプションですが、アプリケーションは動的ライブラリとフレームワークに依存することがあります。プラグインは、サードパーティによって作成され、アプリケーションに特別な機能を追加することができます。もちろん、プラグインインターフェイスを提供する必要はありません。 –

+0

ええ、もう一度ありがとうございます。フレームワークも動的にロードされていると言います。作成したココアフレームワークでは、フレームワークプロジェクトを構築して/Library/Frameworkにコピーします。アプリケーションでこれを使用しながら、私たちのプロジェクトは、コンパイル時にフレームワークを静的にリンクしていることを意味しています。これは、runtime.pleaseをロードすると言えます。 – Akbar

1

ここには、通常のライブラリとフレームワークの違いを説明するためにもう少し深く説明するdecent tutorial(PDF形式)があります。

関連する問題