About Cocoa

Hello I'm studying what Cocoa is. But I have a few questions.
  1. In this page and this page, both are saying different things I guess. The former one says that Cocoa touch is just environment, and the later one says that Cocoa touch is a layer! I know both are old documents. Which is right?

  2. Can I call 'Cocoa touch' frameworks?

  3. I know Cocoa touch has Foundation and UIKit. But on figure 1-2 in this page, cocoa touch has just UIKit! I'm confused...

Answered by OOPer in 630708022

Which is right?

BOTH.
From a point of view, it is an environment. From another point of view, it is a layer.

Can I call 'Cocoa touch' frameworks?

YES.

cocoa touch has just UIKit! I'm confused

I do not understand why you are confused. Cocoa Touch is a collection of frameworks, and most of (all of, maybe) them are dependent on one framework Foundation. In one point of view, you can think Foundation is a part of Cocoa Touch. And when illustrating the layers of frameworks, Foundation can be considered as a base layer as every other framework is constructed over it.

Having many illustrations of what is Cocoa Touch would help understanding some aspect of iOS development, but I recommend you to spend more time to study how to use Cocoa Touch, than studying what is Cocoa Touch.


Accepted Answer

Which is right?

BOTH.
From a point of view, it is an environment. From another point of view, it is a layer.

Can I call 'Cocoa touch' frameworks?

YES.

cocoa touch has just UIKit! I'm confused

I do not understand why you are confused. Cocoa Touch is a collection of frameworks, and most of (all of, maybe) them are dependent on one framework Foundation. In one point of view, you can think Foundation is a part of Cocoa Touch. And when illustrating the layers of frameworks, Foundation can be considered as a base layer as every other framework is constructed over it.

Having many illustrations of what is Cocoa Touch would help understanding some aspect of iOS development, but I recommend you to spend more time to study how to use Cocoa Touch, than studying what is Cocoa Touch.


Thanks for reply!
I got more questions
  1. UIKit imports Foundation internally which means Cocoa touch has Foundation as well. Is it right?

  2. I saw an image, but I can't attach right now. I understand that the image says like "Cocoa touch is the highest level layer, so it can have lower layer's frameworks or itself. Is it right?


UIKit imports Foundation internally which means Cocoa touch has Foundation as well. Is it right?

As I said, Cocoa Touch is a collection of frameworks, but it is not strictly defined. It is sort of a concept rather than a definition.
You can think Foundation is a part of Cocoa Touch, but it is not because UIKit imports Foundation, but because you need to work with Foundation when programming in Cocoa Touch.

I understand that the image says like "Cocoa touch is the highest level layer, so it can have lower layer's frameworks or itself. Is it right?

Right. In the layer based illustration of framework/library hierarchy, Cocoa Touch cannot exist by itself and you need to work with many lower level layers when programming in Cocoa Touch.

About Cocoa
 
 
Q