Cocoa

cocoa logo

Cocoa является эволюцией программных сред NeXTSTEP и OPENSTEP, разрабатываемых компанией NeXT в конце 1980-х годов. Чтобы выйти из кризиса, Apple приобрела NeXT (которую основал Стив Джобс, после ухода из Apple) в декабре 1996 года, и начала работу над многообещающей операционной системой Rhapsody, которая должна была стать прямой наследницей OPENSTEP. Rhapsody эволюционировала в Mac OS X, где были реализованы самые сумасшедшие для того времени идеи.

Большая часть кода, написанного для OPENSTEP, вошла в Cocoa и Mac OS X, однако есть и некоторые различия. Например, в NeXTSTEP и OPENSTEP для отображения текста и графики на экране использовалась технология Display PostScript, в то время как в Cocoa используется система Quartz от Apple (в которой применяется та же модель построения изображения, что и в формате PDF). Кроме того, в Cocoa есть поддержка Интернет, например, классы NSURL* и классы WebKit для работы с HTML, в то время как в OPENSTEP существовала лишь ограниченная поддержка работы с сетевыми подключениями с помощью класса NSFileHandle и Berkeley sockets (разумеется, на уровне системных вызовов всегда можно реализовать большинство недостающих функций - вопрос во времени, в цене и в конечном качестве результирующей поделки).

Прежде торговая марка Cocoa использовалась как название приложения, позволяющего детям создавать мультимедийные проекты. Первоначально это приложение было известно как KidSim, а сейчас оно принадлежит сторонней компании и выпускается под маркой Stagecast Creator. Прекращение поддержки программы было осуществлено в русле рационализации, последовавшей за возвращением Стива Джобса в Apple. Старое название было использовано повторно, чтобы избежать задержки, связанной с регистрацией новой торговой марки, а Stagecast согласилась разрабатывать бывшую Cocoa под новым названием.

Преобладающее большинство классов Cocoa в своём названии начинаются с последовательности NS. Это традиционный префикс имён системы NeXTSTEP, отсюда и пошли эти две буквы. Поскольку именные пространства имён (namespaces как в C++) в настоящее время не поддерживаются Objective-C, использование префикса имён позволяет снизить возможность возникновения конфликтов имён классов и рекомендуется также и для имён классов пользователя. Часто используют сокращения от имени разработчика или названия компании.

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac