These are basically the frameworks used for development of applications.The core concepts of Cocoa and Cocoa touch are similar.But there is some main differences between these frameworks.After a lot of reference,I have concluded some best points regarding the differences between Cocoa and Cocoa Touch which every beginner should know before starting development.
- Cocoa is the application framework for used for development in Mac OS X.
- Cocoa is commonly referred to as the combination of the Foundation and AppKit frameworks, while
- In Cocoa, the have the "NS" prefix as in "NSButton" (the NS stands for NextStep which is a predecessor to Mac OS X).
- If you refer Foundation frameworks in Cocoa ,it has "NSHost" class.
- Cocoa Touch is the application framework used for development in iOS (iPhone,iPad and iPod)
- Cocoa Touch is commonly referred as combination of the Foundation and UIKit frameworks
- In Cocoa Touch, the UI classes all start with the prefix "UI" as in "UIButton", "UIView", etc,(the UI stands for User Interface elements on iOS)
- If you refer Foundation frameworks in Cocoa Touch ,it's missing "NSHost" class.
Cocoa and Cocoa Touch sit on top of other collections of frameworks to create the API stacks. The other layers are Media, Core Services and Core OS.
Cocoa has more features than Cocoa Touch. But overall their APIs are very similar.
Many of the classes share the same functionality and can be ported quite easily by simply changing the class name, though most will require some more changes, but usually nothing too heavy.