1,1976,Apple创立。Steve Wonzniak史提夫 沃兹尼克 和 Steve Jobs史提夫 贾伯斯
2,1980年代初Brad Cox和Tom Love在公司Stepstone发明Objective-C。对Objective-C最主要的描述是他1986年出版的《Object-C oriented Programming, An Evolutionary Appoach》。
3,Brad Cox一直专注软件工程,软件重用性,组建化,这也是ObjC里面的核心思想,Brad当时想打造一门流行的、可移植的C语言与优雅的Smalltalk的结合体。
4,1984,Apple推出第一台Macintosh(麦金塔)电脑,简称Mac。
5,1985年,John Sculley接管了苹果电脑,并把Steve Jobs赶出了苹果电脑。他离开后创立了NeXT电脑公司,并发展出NeXT电脑及NeXT STEP操作系统。NeXT拥有最 先进的技术,但是不能成为最流行的电脑。John Sculley是百事可乐公司的主管,为Pepsi销售立下了汗马功劳。
6,1985年,被赶出苹果公司的Steve Jobs成立了NeXT公司,致力于开发强大且经济的工作站。NeXT获得了Stepstone公司的Objective-C语言授权和可以发布自己的 Objective-C Compiler和libraries。同时使用Objective-C开发了一套NeXTSTEP,并创建了NeXTSTEP Toolkit软件包,这个工具包用于开发用户界面,功能强大。 NeXT Workstations销售仅仅5000套。
7,1993年,NeXT终止了硬件业务,转为专注于NeXTSTEP(OPENSTEP)软件市场,并推出了一套网络程序架构WebObjects用于进行动态页面的生成。OPENSTEP实际上 是NeXT和SUN公司合作开发的一套系统,可以运行在Soloris和Windows NT。
8,1994,NeXT与Sun共同制定OpenStep API标准,其中两个重要的部分是Foundation跟Application kit,此时开始使用命名前缀NS。NeXT自己的实作成为 OPENSTEP,软件开发工具组当时大概叫做OpenStep developers toolkit;另外还有自由软体的实作,名为GNUstep。因为Mac OS X、iPhone SDK、Xcode可追 溯到NeXT、NeXTStep,所以是以Objective-C为主力开发语言,所以程式码中会出现NX与NS字样。
9,1996,Apple买下NeXT,主要用意就是要以NeXTStep作业系统取代老旧的Mac OS。
10,1997,Steve Jobs重回Apple。
11,2011,推出Mac OS X(X代表古罗马数字10)。而且OpenStep developers toolkit被重命名为Cocoa。
12,NeXT Inc.
NEXTSTEP,(官方写法很多多种,一开始叫做NextStep、NeXTstep、NeXTSTEP,最后才叫做NEXTSTEP)是由NeXT.Inc所开发的操作系统。NeXT也是现任苹果电脑 CEO,Steve Jobs在1985年离开苹果电脑后所创立的公司。这套系统是以Mach和BSD为基础,以Objective-C作为本地语言,具有很先进的GUI接口。1.0版推出时 间是在1989年9月18号。刚开始NEXTSTEP只能在NeXT电脑的Motorola68000上运行,1992年推出PC版的NEXTSTEP 486。3.1版和3.2版分别在1935年的5月及10月推 出,但是终究失败。最后版本3.3在1995释出,平台也以及不限于Motorola68000家族,亦可在IBM PC x86、Sun SPARC及HP PARISC等平台上运行。后来苹果电脑在 1997年2月将NeXT买下,成为Mac OS X。
13,NeXTSTEP
NeXTSTEP包含的内容非常多。主要有:
1,操作系统,以Mach为kernel,加上BSD所打造出来的unix-like操作系统。
2,以Objective-C为主力开发语言与运行环境
3,面向对象的软件开发套件(library、framework),当时不叫framework,而叫kit。
4,各种开发工具(Project Builder, Interface Builder)。
在NeXT公司被Apple收购后,这些也都被之后的Mas OS X 吸收继承。
14,1996年,苹果公司以4亿美金收购了NeXT,NeXTSTEP被重命名为Cocoa,WebObjects则集成到Mac OS Server和Xcode中。Objective-C自然而然成为Mac平 台的首选开发语言,并受到Macintosh编程人员的广泛认可。Cocoa成为苹果免费提供的开发工具,提供Mac平台应用开发的环境。
15,1998年5月6号iMac横空出世。iMac是一次本质的回归。独特的一体化设计完全符合最初的Macintosh设计思路,正是这样的设计挽救了当时苹果岌岌可危的声望和 品牌。iMac也是第一个用光驱完全取代3.5寸软驱的电脑。
16,2001年,和一摞扑克差不多大小的第一代iPod重6.5盎司,标价$399美金。
17,2007年1月9日iPhone。短短两年时间,苹果已卖出一千七百四十万台iPhone。苹果已经一跃成为世界第二大智能手机制造商。
18,iPhone和iPad操作系统更名为iOS系统。(iPhone iPad iOS是标准写法)
目前iOS已经更新到iOS4.x
使用Objective-C 2.0为开发语言
使用Xcode3作为集成开发环境
使用Interface Builder作为界面开发工具(不用这个工具)
19,Objective-C:
Objective-C,通常写作ObjC,有时候也写作Objective C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要用于Mac OS X和iOS这两个NEXTSTEP的衍生系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在任何gcc支持的平台上进行编译,因为gcc原生支持 Objective-C。
20,发明者:
Objective-C主要是Brad Cox 和Tom Love设计完成。两人都是在ITT技术中心工作,在那里开始研究Smalltalk和面向对象编程。Cox认为Smalltalk对于应用开发者非 常方便,所以开始专注于Smalltalk的研究工作。Cox在1983年修改了C编译器可以编译面向对象的C也就是OOPC语言。C是个compiled, procedural programming language,在1970s早期由AT&T发展出来。Objective-C是后来Brad J.Cox发展出来,把C语言再加上了面向对象object-oriented概念。将C语言混 合了面向对象语言Smalltalk。Smalltalk是早期其中一个知名的面向对象语言,在Palo Alto Research Center (Formerly Xerox PARC)发展出来的。Cox将Smalltalk 的object和message passing分层构造在C语言之上建立出新的语言。这点让程序设计师可以持续使用熟悉的C语言开发,又可以使用面向对象特性。Objective-C 加了64-bit支持,当然在Mac系统才有意义,在iPhone目前都是32位。
21,1980s年代,Objective-C被主要当中开发语言应用在NeXTStep操作系统,也就是Steve Job发起的电脑公司NeXT。NeXTStep不论精神上和始祖上,皆是OS X的前 身。一直到现在iOS上用的Cocoa Touch class name是用NS为开头,像是NSString 和NSArray,这都是可以追溯回到NeXT。现在最新语言是Objective-C是2.0,在 2007年10月和OS X Leopard一起发布的。强调拥有“modern garbage collection, syntax enhancements, runtime performance”
22,为什么很多类是以NS开头的
在iPhone/iPad开发中,很多类是以NS名字空间开头的。原因是这些类是源于Cocoa基础类,而Cocoa基础类最初来源于NeXTStep。所以Cocoa很多类是以NS开 头命名。iOS使用了Cocoa基础类。
23,The Cocoa API
Cocoa是目前主要的架构。是Apple从NeXTSTEP向OPENSTEP开发出来。有一套预定义的类和类型比如NSNumber,NSstring,NSdate等。NSObject是一个根类, 里面包含了比如alloc,retain, release等函数,用来关系对象的生命周期。
24,总括
Objective-C是面向对象的语言
遵从ANSI C标准C语法,同时使用了Smalltalk的方法
在运行时可以灵活处理所以事情
运行时非常灵活:
Dynamic Binding动态绑定
Dynamic Typing动态检查
Dynamic Linking动态链接
Objective-C可以认为是继承了C和Smalltalk优点
Development
Tom Love在Schlumberger中心获得了Smalltalk-80的一份商业版权拷贝,然后设计出了Objective-C
1986年他们发布通过Stepstone公司发布Objective-C产品
NeXT and NeXTSTEP
1988年Steve Jobs获得了Objective-C的使用版权用在NeXT
使用Objective-C来编写NeXTSTEP操作系统
Objective-C使得设计NeXTSTEP操作系统更加容易
NeXTSTEP是从BSD Unix系统演变而来
在1995年,NeXT从Stepstone得到了Objective-C全部版权
Apple and Mac OS X
NeXT在1996年被Apple公司接管。Steve Jobs开始在Mac OS X中使用Objective-C
重新设计了Mac OS来使用Objective-C
使用Objective-C开发了一套Cocoa GUI库
重新发布了Mac OS X(10)
Dynamic Language
几乎所有的工作都可以在运行时处理
使用动态链接,动态绑定,动态检查
最大的灵活性
最小化RAM和CPU使用 |
|