20世纪70年代,面向对象程序设计思想新起,很多实验室和研究中心都在研究面向对象程序设计的方法和理论。 其中,美国施乐公司的帕洛阿尔托研究中心(PARC)开发了Smalltalk
编程语言。Smalltalk
是历史上的第二个面向对象的编程语言,这门语言发展迅速,先后推出了Smalltalk-72
、Smalltalk-78
、Smalltalk-80
等版本。 到Smalltalk-80
已经成为了非常成熟的面向对象的语言。它受到了很多人的爱好,当然有很多人开始研究它。
20世纪80年代初,Brad Cox
和Tom Love
在ITT(国际电报电话公司)
工作时, 得到了Smalltalk-80
商业版本的拷贝,他们研究了Smalltalk-80
之后,被彻底的震撼了。
当时是C语言的天下,绝大多数公司都使用C语言进行开发,他们公司也不例外。为了能够使用面向对象的方法编程,又能兼容以前使用C语言写的程序, 他们自然而然的想法就是扩充C语言。在C语言的基础上,加入面向对象的东西,这样,以前写的代码不用修改, 以后就可以使用这门新语言编写软件了,这不很完美嘛。
Brad Cox
一直专注软件工程、软件重用性、组建化等,Brad Cox
当时想打造一门流行的、可移植的C语言与优雅的Smalltalk
的结合体。 所以,他们在Smalltalk-80
的启发下发明了Objective-C
。
1983年,Brad Cox
和Tom Love
合伙成立了Productivity Products International(PPI)
公司, 将Objective-C
及其相关库商品化贩售,并在之后将公司改名为StepStone, Inc
。
1985年,John Sculley
接管了Apple, Inc
,并把Steve Jobs
赶出了Apple, Inc
。Steve Jobs
离开了Apple, Inc
后创立了NeXT Computer, Inc
,致力于开发强大且经济的工作站。
NeXT Computer, Inc
获得了StepStone, Inc
的Objective-C
语言授权, 并允许发布自己的Objective-C Compiler
和Library
。
NeXT Computer, Inc
使用Objective-C
开发了一个NeXTSTEP
操作系统, 并创建了NeXTSTEP Toolkit
软件包,这个工具包用于开发用户界面,功能强大。
1996年,Apple, Inc
以4亿美金收购了NeXT Computer, Inc
, 主要用意就是要以NeXTStep
操作系统取代老旧的Mac OS
系统。
1997年,Steve Jobs
重新回到了Apple, Inc
,并接管了Apple, Inc
。
被收购后,Objective-C
自然而然成为Mac平台的首选开发语言,并受到Macintosh编程人员的广泛认可。
NeXTSTEP Toolkit
被更名为Cocoa
。Cocoa
成为苹果免费提供的开发工具,提供Mac平台应用开发的环境。
2007年10月,Apple, Inc
发布了OS X 10.5(Leopard)
,同时一起发布了Objective-C2.0
。
1998年5月6号,iMac横空出世。iMac是一次本质的回归。独特的一体化设计完全符合最初的Macintosh设计思路,正是这样的设计挽救了当时苹果岌岌可危的声望和品牌。
基于Cocoa
改造出了Cocoa Touch
, 使用Cocoa Touch
先后开发出了iPhone
、iPad
等操作系统, 而后将iPhone
和iPad
统称为了iOS
。
当然,苹果还有iWatch
、iTV
等产品,也都是一脉相承的。