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

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

什么是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是一个集成开发环境。

补充小知识:

IDE 集成开发环境

  较早期程序设计的各个阶段都要用不同的软件来进行处理,如先用字处理软件编辑源程序,然后用链接程序进行函数、模块连接,再用编译程序进行编译,开发者必须在几种软件间来回切换操作。现在的编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这样就大大方便了用户。

  集成开发环境(简称IDE Integrated Develop Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫做集成开以环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。例如,BASIC语言在微软办公软件中可以使用,可以在微软Word文档中编写WordBasic程序。IDE为用户使用Visual Basic、Java和PowerBuilder等现代编程语言提供了方便。 不同的技术体系有不同的IDE。比如visual studio.Net可以称为C++、VB、C#等语言的集成开发环境,所以visual studio.Net可以叫做IDE。同样,Borland的JBuilder也是一个IDE,它是Java的IDE。zend studio、editplus、ultraedit这些,每一个都具备基本的编码、调试功能,所以每一个都可以称作IDE。

  IDE有三项必须集成的基本功能:“编辑器”、“编译/链接器”、“调试器”。还有一些更强大的功能,如:代码提示、项目管理、界面设计、建模功能

时间: 2024-10-12 04:32:33

什么是Cocoa?什么是Xcode?什么是Framework?的相关文章

Xcode 6制作framework库

1.制作环境 1)OSX 10.10.5: 2)Xcode 6.1. 2.制作步骤 1)新建项目并选择iOS下的Framework&Library中的Cocoa Touch Framework: 2)输入项目名,选择目录,完成创建: 3)进行编码(这里新建了一个WYDemoTest类,添加了wyTest方法): 4)设置需要开放的头文件,有些内部使用的没必要开放: 5)运行(Cmd+R)生成framework: 3.测试工程 1)假设之前创建的是基于iPhone5s模拟器的framework,创

XCode 6 制作framework

在Xcode 6 发布之前 ,想建立一个动态的Framework 需要在很多设置 ,以前需要靠静态库来实现,或者在github 上下载插件进行开发,但是在Xcode 6 出来之后 ,苹果就已经提供了这中操作,具体见图 这些操作完成以后,打出的包离可以使用 就 不远了,为什么这么说呢 ,还是直接说我在制作的过程中遇到的问题吧 问题 一.framework中肯定会用到图片资源,打包的时候如果不把图片提取出来,在其他项目引用framework 的时候,图片是不会显示的 二.如果framework中得图

xcode中嵌入framework(接入快用最新SDK遇到的问题)

  但xcode设置中并没有找到Embed Frameworks这个选项,使用以下方式添加 当遇到dyld: Library not loaded:xxxx  Reason: image not found 时,将添加的framework改为optional

在Xcode中制作Framework

最近由于工作变动, 从此离开了我喜爱的移动互联事业群, 从此走上了游戏业务服务体系的不归路. Apps最近是和我无缘了, 唉... 到了这面需要从新开始学, 做SDK真无聊啊! 提到做SDK的开发就必须得会制作Framework了,如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的所有代码,因为他们可能仅仅希望将你的这份漂亮代码的一部分植入自己的应用中. 另一种方法是

[软件]Xcode查找系统framework所在路径

有的时候, 我们不小心改了头文件, 导致Xcode系统库被修改(改回去也不行) 假设我改的是UIKit.framework类库里面的一个文件, 那么你只需要从另一个好使的电脑上, 在这个路径找到UIKit.framework把你的UIKit.framework替换掉 Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/IPhoneSimulator.sdk/System/Library/Fr

iOS—Xcode中设置Framework Search Paths的秘密!

最近几周,我正在写我们公司自己的SDK,我同时创建了两个工程,一个是静态库Framework的工程SDKProject,还有一个是Demo的工程DemoProject,我将SDKProject的Products引用到DemoProject中.开发了将近一个月了,都没遇到问题,今天突然发现一个问题 "无论我如何修改framework中的代码,在Demo中也看不到效果". 郁闷了两个多小时,突然发现Xcode中Framework Search Paths中有好几个framework的搜索路

Xcode编译引用Framework

需要两步配置 1.在xcode工程的search path下设置要引用的Framework所在路径 2.将Framewoek拖入工程中时 不要选择copy,而选择引用模式.

xcode 生成framework的一个坑

今天用xcode生成一个framework,供另一个工程A使用,可是在编译A时,却出错了,错误信息好像是找不到对应armv7的代码.非常奇怪因为我没有改过framework的结构设置,而A一直都是可以编译的.找了一阵才发现,编译framework的时候,是连着iphone6 plus的,于是xcode直接把编译结构设置为只对应iphone6p的架构了,所以就没有armv7了..把ip6p拔了之后,对应ios device编译,一切正常

Carthage的安装和使用

为什么要使用Carthage CocoaPods是已存在很长时间的Cocoa依赖管理器, 那么为什么要创建Carthage呢? CoaoaPods是一套整体解决方案,我们在Podfile中指定好我们需要的第三方库.然后CocoaPods就会进行下载,集成,然后修改或者创建我们项目的workspace文件,这一系列整体操作. 相比之下,Carthage就要轻量很多,它也会有一个叫做Cartfile描述文件,但Carthage不会对我们的项目结构进行任何修改,更不多创建 workspace.它只是根