MacOS をコーディングする場合、使用できるオプションがいくつかあります。コア サービス、コア ファンデーション、およびコア データ。それらの違いは何ですか?それらは純粋な C++ コードですか?
4 に答える
それらはすべて異なることを実行し、C または Objective-C で実装されます。
この一連のドキュメントは、Carbon アプリケーションで使用される多くの基本的なオペレーティング システム サービスを含むコア サービス フレームワークの API リファレンスを提供します。
Core Foundation は、アプリケーション サービス、アプリケーション環境、およびアプリケーション自体に役立つ基本的なソフトウェア サービスを提供するフレームワークです。また、Core Foundation は、一般的なデータ型の抽象化を提供し、Unicode 文字列ストレージによる国際化を促進し、プラグイン サポート、XML プロパティ リスト、URL リソース アクセス、設定などの一連のユーティリティを提供します。
この一連のドキュメントは、Core Data フレームワークの API リファレンスを提供します。Core Data は、Foundation および Cocoa アプリケーションのオブジェクト グラフ管理と永続性を提供します。詳細については、「コア データの基本」を参照してください。
Appleの図を見てください:
Core Services は、Core Foundation を含む MacOS ソフトウェア エコシステムのレイヤーであることがすぐにわかります。Core Foundation は C ベースであるため、もちろん C++ から簡単に呼び出すことができますが、Core Services レイヤーのすべてのフレームワークに C のみの API があるわけではありません。
コア データは、コア サービス レイヤーのもう 1 つのフレームワークであり、Objective-C API を使用したコア サービス API の良い例です。Core Data と Core Foundation は完全に異なることを行います。どちらも他方の適切な代替物ではありません。
これらは、リンクしてコードで使用できるライブラリです。Apple がそれらで使用するコードは意図的にわかりにくく、通常は Objective-C を使用してそれらを使用します (Objective-C で記述されていると推測されますが、C++ ライブラリがいくつかあります)。これらおよび他の多くの Apple ライブラリにリンクできます。フレームワークの説明については、Apples Core Services のドキュメントを参照してください。数多くあり、それらは多様であり、ここで説明するには範囲が広すぎます。
実際には、それらはすべてまったく異なります。また、C++ ではなく、Objective-C で記述されています。とにかくそれらの内部のコードにアクセスすることはできず、それらが公開するインターフェースにのみアクセスできるため、実際には関係ありません。
Apple 開発者向けドキュメントは優れたリソースです。