Carbon APIとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > Carbon APIの意味・解説 

Carbon API

読み方カーボンエーピーアイ
別名:Carbon Application Program InterfaceカーボンCarbon

Carbon APIとは、Mac OS X搭載されAPIのことである。Mac OS 9までに「Toolbox」として搭載されていた約8000ほどのAPIのうち、Mac OS Xへの移植難しいものを除く約6000APIによって構成されている。

それまでMac OSとは異なりUNIXベースにしているMac OS Xは、設計こそ従来はまった異なるものであるが、旧来のアプリケーションソフトCarbon利用することによって簡単なコード変更Mac OS X対応させることが可能になる。必要となる作業10%程度コード変更で済むという。Carbon用いて作成されアプリケーションは「Carbonアプリケーション」と呼ばれることが多い。Carbonアプリケーションは、Mac OS XでもMac OS 9でも利用することができる。

Mac OS X塔載されているAPI群にはCocoaがあるが、CocoaObjective-Cというあまり一般的でないプログラミング言語記述しなくてはならない。その点Carbon APIはメジャーな言語であるC言語C++によって利用することができるという利点がある。

プログラミングのほかの用語一覧
API:  Carbon API  CryptoAPI  CNG  DirectX Audio  DirectX Graphics  EAX  IPC

Carbon (API)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/09 10:00 UTC 版)

Carbon(カーボン)は、かつてMac OS Xで提供されていた、二つあったC言語ベースの主要なアプリケーションプログラミングインターフェース(API)のうちの一つ。もう一つのAPIであるCocoaがMac OS Xの技術的前身であるNeXTSTEP (OPENSTEP) に由来するのに対し、Carbonは先代OSであるClassic Mac OSToolbox API (Application Programming Interface) をMac OS X用に整理・移植したものであり、Classic Mac OS用アプリケーションをMac OS X向けに移植しやすくするために開発された。

Carbonは旧来のClassic Mac OS用アプリケーションの迅速な移植を可能にし、初期のMac OS Xの普及を支える重要な役割を果たしたが、後年アプリケーションのCocoaへの移行が進むとCarbonの重要度は低下し、徐々にフェードアウトすることになった。Mac OS Xの64ビット対応が進んでもCarbonは64ビット化から取り残され、OS X Mountain Lionからは使用が非推奨とされ、macOS Catalinaからは完全に廃止された。

概要

QuickTimeチームがAPIをMac OS Xに移植するために互換レイヤーを作成したものが元型となっている。それがスティーブ・ジョブズの目に留まり、汎用の互換フレームワークのアイディアとして採用された。Toolbox APIの中で明らかにレガシーなもの、あまり使われていないものを廃し、また内部構造が32ビットを前提として再設計されている(Toolboxは16ビットコードで、PowerPCの性能の足枷となっていた)。

Carbon APIを利用したアプリケーションのことをCarbonアプリケーションと呼ぶ。Mac OS Xに搭載されているもう一つのAPIであるCocoaがObjective-Cのコードを書かなければならないのに対して、Carbon APIはClassic Mac OS由来のインターフェイスを持っておりC/C++からも使うことができる。基本的にToolboxとソースコード互換を目指しており、単に移植を行なうだけであれば、それほど大きな設計変更は必要なかった。

Carbonアプリケーションには、

  • 一つのバイナリでMac OS XでもClassic Mac OSでも実行できる『PEF Carbon
  • Mac OS X専用の『Mach-O Carbon

の2種類が存在した[1]

PEFとはPreferred Executable Formatのことで、CFM(Code Fragment Manager)Carbonともいう。PEFは従来から使用されてきたフォーマットであるため、Classic Mac OSとMac OS X、両方で動作させることができた。ただし、CFM Carbonのアプリケーションでも、実行にはCarbonLibと呼ばれる機能拡張書類が必要であり、これがなければClassic Mac OSでは動作しない。

Mach-O CarbonはMac OS X用に最適化されているのでCFM Carbonより幾分高速に動作する。また、QuartzをはじめとするMac OS X特有のAPIを利用するためには、Mach-O形式が最も適する。このフォーマットはdyldとも呼ばれる。そのままではClassic Mac OSでは動作しないが、Mac OS 9から導入されたアプリケーションパッケージを利用して一つのフォルダの中に CarbonアプリケーションとClassic Mac OS用アプリケーションの二つを同梱し、一つのアプリケーションのように見せかけてClassic Mac OSとMac OS Xの両方で実行できるようにしたものもあった。

Mac OS Xが普及してしばらくはCFM Carbonが大半だったが、開発環境が最適化されていくにつれてMach-O Carbonがほとんどとなってきた。(Xcodeの利用による)Mach-O化はUniversal Binary化には必須である。なお、CocoaはCarbonと必ずしも対立するものではなく、当初はCarbonベースのライブラリをラップしてCocoaアプリケーションとして実装したもの、Cocoaベースのコンポーネントが組み込まれたCarbonアプリケーションなど、様々な実装形態のソフトウェアが存在していた。

実態と終焉

当初のAppleの説明では、Carbonに対応したアプリケーションは、CarbonLibをインストールしたMac OS 9とMac OS Xで(それぞれのOSに特有の機能を除けば)同じように動作可能というものであった。しかし実際にはCarbonLibには問題も多く、デベロッパはMac OS 9とMac OS X用にコードを書き分けねばならない場面も多かった。ユーザーのMac OS Xへの移行も迅速に進んだため、結局両方のOSで動作可能というメリットが活かされることはあまりなかった。

Mac OS X v10.2からMac OS X v10.4にかけて、CarbonはCocoaを模したHIObject(カスタムコントロールを作成するための機能セット)の導入や、Mac OS X全体の共有基盤といえるCore Foundationとの互換性強化など、当初はCocoa同等の開発基盤として徐々に構造の近代化が計られた。

しかしながらMac OS X v10.5での64ビット対応はUI部分が見送られ[2]、64ビット完全対応にはCocoaへの移行が必須となるなど、AppleはGUIフロントエンドとしてのCarbonを徐々にフェードアウトさせ、Cocoaをメインとする姿勢を強めていった。Mac OS X v10.6では従来CarbonベースだったQuickTimeFinderがCocoaで作り直されている。

さらにMac OS XはPowerPC CPUのみならず、インテルCPU上へも移植され、Intel MacではCocoaアプリケーションとMach-O Carbonアプリケーションは再コンパイルすることでネイティブに動作するとされていた一方、CFM Carbonのアプリケーションはネイティブ動作せず、Rosetta環境上での動作となった。

Rosetta環境はMac OS X Lionで廃止され、次のOS X Mountain LionではCarbon自体の利用が非推奨となった。macOS Catalinaからは32bitアプリケーションへの対応と共にCarbonも廃止されたため、Cocoaで作り直されていないCarbonアプリケーションは完全に動作しなくなった。

脚注

  1. ^ CFMやMach-OはABI (Application Binary Interface) のことで、API (Application Programming Interface) とは無関係。
  2. ^ Choosing a Development Path for Your Carbon User Interface

「Carbon API」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Carbon API」の関連用語

Carbon APIのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Carbon APIのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリCarbon APIの記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのCarbon (API) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS