Solución:
Cocoa se conoce comúnmente como la combinación de los marcos Foundation y AppKit, mientras que Cocoa Touch es la combinación de los marcos Foundation y UIKit.
Cocoa y Cocoa Touch se colocan encima de otras colecciones de marcos para crear las pilas de API. Las otras capas son Media, Core Services y Core OS.
La principal diferencia entre Cocoa y Cocoa touch es que las clases de interfaz de usuario y las API no son las mismas que las de Mac OS X y macOS, por lo que en lugar de NSTextField
, tú tienes UITextField
. Muchas de las clases comparten la misma funcionalidad y se pueden portar con bastante facilidad simplemente cambiando el nombre de la clase, aunque la mayoría requerirá algunos cambios más, pero generalmente nada demasiado pesado.
También hay algunas diferencias entre los marcos de la Fundación en Cocoa y Cocoa Touch, por lo general faltan clases, por ejemplo, Cocoa tiene NSHost
y Cocoa Touch no lo hace.
Llegará a conocer más los matices entre los dos y pronto podrá saber instintivamente qué funcionará en un iPhone con poca o ninguna modificación y qué requerirá un poco de trabajo para portar entre ellos, pero no es tan difícil.
Marco de aplicación para
i) Cocoa es el marco de aplicación para Mac OS X.
ii) Cocoa Touch es el marco de aplicación para iPhone y iPod Touch.
Frameworks
i) Cocoa: Foundation y AppKit.
ii) Cocoa Touch: Fundación y UIKit
Ausencia de ciertas clases
Cocoa tiene NSHost y Cocoa Touch no
API
i) Cacao: Todas las clases utilizadas en Cocoa tienen el prefijo NS Ex: NSTextField
ii) Cocoa Touch: las clases utilizadas en Cocoa tienen el prefijo UI Ex: UITextField
Patrones MVC
i) Cocoa: Cocoa tiene múltiples patrones de diseño alternativos, además de MVC
ii) Cocoa Touch: el iPhone SDK tiene un sistema MVC reforzado, que funciona mejor que el MVC predeterminado en Cocoa
Otras diferencias
También hay diferencias en el ciclo de vida de la aplicación, el espacio aislado y la huella de memoria
Enlaces:
http://teks.co.in/site/blog/cocoa-vs-cocoa-touch-beginners-guide/ http://iphonenativeapp.blogspot.in/2011/02/difference-between-cocoacocoa-touch-and. html https://iphonecodecenter.wordpress.com/tag/difference-between-cocoa-cocoa-touch/
La sección Migración desde Cocoa Touch de la Descripción general de la tecnología del iPhone OS proporciona una buena descripción general de las diferencias con enlaces a documentos más específicos para cada capa.
La gran diferencia es la capa de la interfaz de usuario. En Mac, tiene el marco AppKit, en el iPhone, tiene UIKit. Las diferencias más pequeñas se encuentran en el marco de la Fundación (vinculado en el documento anterior).