Framework
概要
フレームワーク という用語は業界内で非常に多く用いられているが、iOS, macOS アプリケーション開発の文脈における Framework とは、複数アプリケーション間で共有できるパッケージのようなもの。具体的には、共有リソースをカプセル化したディレクトリ (Bundle) のこと。ここで、共有リソース とは、nib ファイル、画像ファイル、ヘッダーファイル、リファレンスドキュメント等を指す。 また、versioned bundle format というフォーマットをサポートしており、複数バージョンのコードおよびそのヘッダーファイルを保持できる。これにより、プログラムの過去バージョンを利用できるようになっている。
メリット
独立した関連するリソースをグルーピングできる。リソースの install, uninstall, 及び探索を容易にする
ライブラリよりも広範な種類のリソースを含むことができる。例えば、関連するヘッダーファイルやドキュメント等
いくつのプロセスが利用しているかに関わらず、ただ1つの (read-only な) リソースのコピーがメモリ上に展開され、それが参照される。メモリ使用量の低減やパフォーマンス向上に寄与する