Подтвердить что ты не робот

Какая разница между Objective-C и Cocoa?

Я просто изучаю программирование Objective-C/Cocoa для Mac. Все учебники, книги, блоги, подкасты и т.д. Я использую действительно обложку обоих. Есть ли простой способ сказать, какие фигуры ваниль Objective-C и которые исходят от Cocoa?

4b9b3361

Ответ 1

Objective-C - это язык... он определяет все такие вещи, как ключевые слова для определения объектов, синтаксис для объекта обмена сообщениями, такие вещи.

Cocoa - это среда разработки (на самом деле это универсальная структура, которая объединяет три другие структуры: Foundation, AppKit и CoreData).

Эти рамки (Cocoa) определяют все объекты, которые приятно использовать и взаимодействуют с операционной системой, а также ряд функций. Например, Cocoa определяет такие вещи, как NSString и NSObject. Cocoa теперь может использоваться с другими языковыми связями, такими как python или ruby, и используется также для использования с Java. Итак, если вы использовали Cocoa с Java, вы все равно получили бы объект NSString, но вы его вызывали и использовали бы в приложении Java.

Без привязки к одной из фреймворков Cocoa Objective-C поставляется с очень простым классом Object в качестве предопределенного корневого класса.

Ответ 2

Objective-C - это сам язык.

Cocoa, ранее NextStep - это API и среда выполнения, которая находится поверх Obj-C. Все, начиная с NS (для NextStep), является частью Cocoa, а не части языка.

Ответ 3

Конечно, это довольно просто - Objective-C - это язык, Cocoa - это API/библиотека, которую вы используете для создания Mac App.

Ответ 4

Посмотрите/usr/include/objc/- в нем есть чистый Objective-C. Все остальное Cocoa. Вы могли заметить, что вы почти никогда ничего не используете прямо там.

Однако на практике это мало чем отличается. Cocoa является фактической Objective-C стандартной библиотекой. Единственной платформой, где Objective-C используется без Cocoa, является Portable Object Compiler, и я предполагаю, что, возможно, трое людей все еще используют это.