carbon と cocoa はどう違いますか?どのような用途に炭素を使用し、どのような用途にココアを使用する必要があるのでしょうか? Mac OS でアプリケーションを開発する場合、どちらが優れていますか?
4 に答える
簡単な回答: 新しいアプリケーションの場合は、Cocoa を使用してください。一部のレガシー コードはまだ Carbon を使用している可能性があり、新しい機能が必要ない場合は引き続き使用できます。
Cocoa には Objective-C API があり、C および C++ コードから簡単にアクセスできます。Carbon は純粋な C API です。他の多くの一般的な言語には Cocoa バインディングと Carbon バインディングの両方がありますが、多くの場合、いくつかの制限があります。
Carbon は、1980 年代初頭のオリジナルの Apple Macintosh (および Apple Lisa) のオリジナル API から進化したものです。具体的には、Mac OS X がリリースされたとき、Apple はレガシー Mac OS API 関数の一部をサポートできませんでしたが、「Carbon」と呼ばれるレガシー API のサブセットを提供して、Mac OS X 以前のアプリケーションを持っていた開発者の移行を容易にしました。彼らは数千の新しい API を追加し、数年間 Carbon を完全にサポートし続けましたが、最終的には最近非推奨になりました。彼らは常に、Carbon は行き止まりであり、すべての開発者は Cocoa に移行すべきだと言っています。
Cocoa は、Apple が取得し、Mac OS X を作成するための基礎として使用した NextStep フレームワークから進化しました。これは、Mac OS X の「ネイティブ」API であり、最新機能の一部にアクセスする唯一の方法です。
Carbon は、Mac OS 8 および 9 との間の移行を容易にするために作成されました。コードを OS 8 または 9 で実行する必要がある場合は、Carbon が最適です。(ソース)
ただし、ソフトウェアが OS X 用に設計されている場合は、Carbon よりも Cocoa を強調する必要があります。
Carbonは非推奨になりました(64ビットには存在せず、存在しません)。
新しいアプリケーション開発には、Cocoaを使用します(ネイティブOS Xアプリケーション開発についてはAppleが対応した方法です。明らかに、Java、Python、Rubyなど、プロジェクトの種類によっては効果的な他の選択肢があります。ネイティブUIは必要ありません)
開発するアプリケーションの範囲と機能によって異なります。私は、MacInTalk 機能と新しい OSX 10.7 国際音声セットを利用するアプリケーションを作成する予定です。公式ドキュメントによると、微調整は Carbon API でのみ提供され、Cocoa API はより制限されています。
具体的には、これらのスピーチ チャネル設定は、Carbon の API を介して変更できます: レート、ピッチ、ピッチ モジュレーション、およびボリューム アトリビュート。この可能性は、Cocoa 経由では利用できないようです。
ちなみに、Speech Synthesis Programming Guide の最新のドキュメントは 2006 年にさかのぼり、同じ機能への Cocoa アクセスが公開されている可能性がありますが、まだドキュメント化されていません。