文档章节

什么是Cocoa?什么是Xcode?什么是Framework?

jackyyang
 jackyyang
发布于 2012/07/29 09:38
字数 872
阅读 671
收藏 1

什么是Cocoa?

NeXTSTEP(以Unix作为内核的操作系统)内置的许多库(libraries)和工具,让程序员以一种优雅的方式与窗口管理器进行交互,这些libraries叫做Framework,在1993年这些frameworks和工具被重新修改并重命名为 OpenStep,后来被重命名为Cocoa(大家应该知道为什么Cocoa的类都有着NS的前缀了吧)

那么这些libraries是什么呢?

通常是一些可能一起使用的类集合,这些类被一起编译成可复用的代码库(libraries)

什么是Xcode?

Cocoa开发用到的所有工具都作为Mac OS X Developer Tool的一部分一起提供给用户,你可以从Mac OS  X安装盘中免费的得到它们。虽然Mac OS X Developer Tool将会在你的系统中添加许多有用的程序。但是我们将主要使用这两个程序:Xcode 和 Interface Builder。而在这些IDE内部,gcc作为编译器来编译代码,gdb来调试。

     Xcode掌控应用程序中所有使用到的资源,代码,图片,声音等等.你只要在Xcode中编写代码,由Xcode来编译和运行你的程序。同时Xcode也能调用和控制调试器。

       Interface Builder是一个GUI构建工具,通过它你可以创建窗口布局并且把各个组件添加到窗口中,Interface Builder使程序员能方便的创建各种对象并编辑它们的属性,这些对象多数是用户界面元件,比如按钮和文本输入框,但是也可以是你自定义的对象

什么是FrameWork?

 FrameWork是一些类的集合,通常是一些可能一起使用的类集合.换句话说,这些类被一起编译成可复用的代码库 (library of code)。所有相关的资源和代码库一起放入一个带扩展名“.framework”的目录(Mac OSX bundle 的概念可以参考苹果的一些文档). 系统自带的framework可以在/System/Library/Frameworks找到.

Cocoa有3个framework组成

          1. Foundation: 所有的面向对象语言都会有一些标准结构: value , collection , String, dates, lists, thread等等.所有的这些都在Foundation framework里面(可以对比C++的STL)

          2. Appkit: 所有和用户界面相关的类都在这里. Windows,buttons,text field, event, drawing. 它还有个名字: ApplicationKit

          3. Core Data: Core Data可以方便的让你把你的对象存储成文件,或是从文件中加载你的对象.

          当然Mac OSX 开发包还提供了其他的很多framework. 比如QuickTime, CD 刻录等等. 这本书我们只关注上面提到的3个基本framework. 一旦你掌握了这些基本framework.你将会更容易理解其他的framework.(cocoa 只是MacOSX的一个开发环境,它提供基本的开发Max OSX应用程序的SDK. 当然如果你要开发某种特定的应用,你可以需要使用Apple提供的其他SDK. 例如要开发播放DVD的程序.你可能会使用到DVDPlayback.framework.它甚至是C++接口的)

          当然,你也可以创建你自己的framework. 一个典型的例子,当相同的类被好几个应用程序使用的时候.你可能会扔给他们一个framework.

 

 小结:

        Framework是一个类库;

        Cocoa是三个Framework的合集;

        Xcode是一个集成开发环境。

© 著作权归作者所有

共有 人打赏支持
jackyyang
粉丝 22
博文 42
码字总数 18506
作品 0
珠海
私信 提问
iphone中自定义Universal Framework

大家好, 我有很强烈的欲望来写一点关于这个主题的文章,因为在网络当中关于这个主题的信息实在少得可怜。而且,大多数情况下是错误的或信息不完整,是有误人子弟的感觉。如果你想为iphone写...

长平狐
2012/08/13
1K
0
iOS FrameW Create

http://db-in.com/blog/2011/07/universal-framework-iphone-ios-2-0/ Universal Framework iPhone iOS (2.0) Hello my friends, Due to some bugs and questions with the old tutorial, I’......

晨曦之光
2012/05/28
208
0
从零开始手敲次世代游戏引擎(MacOS特别篇 贰)

上一篇我们实现了在macOS上面的编译。但是我们采用的并不是macOS的原生接口,因此获得的OpenGL Context所支持的API版本也被限制到2.1版本。这显然是不够的。 因此,接下来我们来尝试使用mac...

陈文礼
2017/11/13
0
0
Innovation : Inspired by Apple

Innovation is a new idea, device or process. Innovation is about CHNAGE, and change to BETTER. From 0 to 1 Mac, iTunes Store, App Store From 1 to 100 iphone, iPad From 50 to 100......

perfectspr
2014/11/25
0
0
Cocoa​ 管理器--Carthage

Carthage 是一个简单的、分散的 Cocoa 管理器,它能用简单的方法为你的 Cocoa 应用增加框架。 它基本的工作流是这样的: 创建一个 Cartfile,列出你想要在项目中使用的框架 运行 Carthage,它...

孔小菜
2015/06/29
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

activiti6+springboot连接mysql

application.properties spring.datasource.url=jdbc:mysql://130.51.23.249:3306/activiti6ui?characterEncoding=utf8&useSSL=truespring.datasource.username=saspring.datasource.passw......

Danni3
22分钟前
1
0
PHP教程中验证正整数is_int($value+0),为什么要这样?

最近学习PHP应用,其中有一段是要验证变量是否为正整数,除了is_numeric($value)外,还要加上is_int($value+0)且($value+0) > 0,为什么还要 +0呢?直接验证$value不行吗? ,只要 is_int($...

dragon_tech
33分钟前
1
0
毕业季,我的Linux求职之路

秋招终于告一段落了,本硕的七年求学之路也快画上了句号。回首求职的这一段日子,痛苦并快乐着。感谢所有陪伴着我走过这一段路程的同学,所有的辛酸都值得铭记。求职的过程中在网上看了很多的...

xiangyunyan
41分钟前
1
0
springMvc异常处理定制化

1、扩展SimpleMappingExceptionResolver来实现springMvc的定制 import org.apache.commons.codec.binary.Base64;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.......

重城重楼
今天
4
0
OSChina 周四乱弹 —— Im fine

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @LuckyXu:分享戴荃的单曲《小荃拳之歌》: 手机党少年们想听歌,请使劲儿戳(这里) 今天遇到倒霉事了, @ FalconChen :电梯宕机了我靠 但是...

小小编辑
今天
971
19

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部