Углерод (API)


Carbon был одним из двух основных интерфейсов прикладного программирования (API) на основе C, разработанных Apple для операционной системы macOS (ранее Mac OS X и OS X) . Carbon обеспечил хорошую степень обратной совместимости для программ , которые работали в Mac OS 8 и 9 . Разработчики могут использовать API-интерфейсы Carbon для переноса («карбонизации») своих «классических» приложений и программного обеспечения Mac на платформу Mac OS X с небольшими усилиями по сравнению с переносом приложения на совершенно другую систему Cocoa , которая возникла в OPENSTEP.. С выпуском macOS 10.15 Catalina Carbon API был официально прекращен и удален, в результате чего Cocoa остался единственным основным API для разработки приложений macOS.

Углерод был важной частью стратегии Apple по выводу Mac OS X на рынок, предлагая путь для быстрого переноса существующих программных приложений, а также средство доставки приложений, которые будут работать как в Mac OS X, так и в классической Mac OS. По мере того, как рынок все больше переходил на фреймворки на базе Cocoa, особенно после выхода iOS , потребность в библиотеке портирования отпала. Apple не создавала 64-битную версию Carbon при обновлении других своих фреймворков в 2007 году и в конечном итоге объявила устаревшим весь API в OS X 10.8 Mountain Lion , которая была выпущена 24 июля 2012 года.

Первоначальная Mac OS использовала Pascal в качестве основной платформы разработки, а API-интерфейсы в значительной степени основывались на семантике вызовов Pascal . Большая часть Macintosh Toolbox состояла из вызовов процедур , передачи информации туда и обратно между API и программой с использованием различных структур данных, основанных на концепции записи вариантов Паскаля .

Со временем на Mac развился ряд библиотек объектов , в частности, библиотека Object Pascal MacApp и библиотека Think Class Library (TCL) на Pascal, а также более поздние версии MacApp и PowerPlant CodeWarrior на C++ . К середине 1990-х большая часть программного обеспечения для Mac была написана на C++ с использованием CodeWarrior.

С покупкой NeXT в конце 1996 года Apple разработала новую стратегию операционной системы, в основном основанную на существующей платформе OpenStep . Новая рапсодия была относительно простой; он сохранил большую часть существующих библиотек объектов OpenStep под названием «Yellow Box», перенес существующий графический интерфейс OpenStep и сделал его более похожим на Mac, перенес несколько основных API -интерфейсов из Mac OS в базовую Unix-подобную систему Rhapsody (особенно QuickTime и AppleSearch ) . , и добавил эмулятор, известный как «Синий ящик», который запускал существующее программное обеспечение Mac OS.

Когда этот план был обнародован на Всемирной конференции разработчиков в 1997 году, существующие разработчики Mac OS были недовольны тем, что их кодовые базы будут эффективно привязаны к эмулятору, который вряд ли когда-либо будет обновляться. Они стали называть «Синюю коробку» «штрафной коробкой». [ нужна цитата ] Крупные разработчики, такие как Microsoft и Adobe , отказались от переноса на OpenStep, который настолько отличался от существующей Mac OS, что практически не совместим.


«Карбонизированное» приложение Adobe Systems ImageReady v.7.0, работающее непосредственно на Mac OS X версии 10.2