一直对Cocoa的概念很模糊,所以就去查了一些资料,搞一下清楚,做一下笔记。
Cocoa介绍
资料查阅如下:
- 苹果官方参考文档:Cocoa (Touch)
- 维基百科:Cocoa && 维基百科:Cocoa Touch
-
Cocoa是什么???
由上述三种资料可知,Cocoa是苹果为开发者提供的开发所需的一切工具类的组合以及相应的API,是Apple软件开发的环境,它包含了所有的Framework,其中最重要的两个是Foundation Framework和AppKit Framework。所以,可以把Cocoa理解为一个开发工具集的名字。【(Cocoa是针对PC端的Mac系统,而对于移动端iOS系统则为Cocoa Touch,Cocoa Touch是基于Cocoa,两者提供的Framework并不完全相同)】
Framework的级别层次结构
Cocoa(Cocoa Touch)提供了开发者所需的所有Framework,但是这些Framework也是分层次结构的。作为移动端开发者,就以iOS系统作为参考了。
根据苹果官方文档About the iOS Technologies,我们可以知道,iOS系统是通过分层服务来实现iOS应用软件来和底层硬件通信。不同层次的Framework提供不同层次的服务和技术。
iOS技术实现的层次,从高层到低层(从用户层到系统核心层),依次时Cocoa Touch Layer(触摸层)-->Media Layer(媒体层)-->Core Services Layer(核心服务层)-->Core OS Layer(核心系统层),这几个层次所包含的Framework,可以参看iOS 系统结构思维导图,结构图如下:
注1:Cocoa Touch Layer只是一个层次,并不代表Cocoa Touch工具集,不要弄混了。
注2:从依赖角度来讲,低层(如:Core OS Layer)包括的Framework是高级别框架,高层(如:Cocoa Touch Layer)包括的Framework是低级别框架。因为高层包含的Framework是基于低层的Framework。所以,高层可以提供更复杂的服务和技术。所以苹果建议我们在开发中使用低级别Framework。
Framework的主要功能和包含的类
这一部分包含的东西太多了,了解几个常用的就好。可以参考下列几篇文章。
网友评论