objective-c - mujeres - ejercicios para quemar grasa del abdomen y cintura
¿Cuál es la diferencia entre Objective-C y Cocoa? (4)
Claro, es bastante fácil: Objective-C es el lenguaje, Cocoa es la API / biblioteca que estás utilizando para compilar tu aplicación de Mac.
Estoy aprendiendo la programación de Objective-C / Cocoa para Mac. Todos los tutoriales, libros, blogs, podcasts, etc. que he estado utilizando realmente cubren los dos juntos. ¿Hay alguna manera fácil de decir qué piezas son vainilla Objective-C y cuáles vienen de Cocoa?
Mire en / usr / include / objc / - en donde hay un Objective-C puro. Todo lo demás es Cocoa. Es posible que notes que casi nunca utilizas directamente nada allí.
Sin embargo, en la práctica, hace poca diferencia. Cocoa es la biblioteca estándar de Objective-C de facto. La única plataforma donde se usa Objective-C sin Cocoa es Portable Object Compiler , y supongo que tal vez tres personas aún la usen.
Objective-C es el lenguaje ... define todas las cosas como las palabras clave para definir objetos, la sintaxis para el objeto de mensajería, cosas así.
Cocoa es un marco de desarrollo (en realidad es un marco general que combina otros tres marcos, Foundation, AppKit y CoreData).
Estos marcos (Cocoa) definen todos los objetos que son agradables de usar e interactuar con el sistema operativo, así como una serie de funciones. Por ejemplo, Cocoa define cosas como NSString
y NSObject
. Actualmente, Cocoa se puede usar con otras vinculaciones de lenguaje, como python o ruby, y también se puede usar con Java. Entonces, si estuviera usando Cocoa con Java, aún obtendría un objeto NSString
, pero lo llamaría y usaría desde dentro de una aplicación Java.
Sin vincular a uno de los marcos de trabajo de Cocoa, Objective-C viene con solo una clase de objeto muy básica como una clase de raíz predefinida.
Objective-C es el lenguaje en sí mismo.
Cocoa, anteriormente NextStep, es la API y el tiempo de ejecución que se encuentra en la parte superior de Obj-C. Todo lo que comience con NS (para NextStep) es parte de Cocoa, no es parte del lenguaje.