读书频道 > 网站 > 网页设计 > 苹果开发之Cocoa编程(原书第4版)
1.1 历史简介
12-10-13    奋斗的小年轻
收藏    我要投稿   
本书是在Aaron多年教学经验的基础上进行了总结提炼的精华之作,加之前面3版不断推敲和完善,已经成为学习Cocoa编程的入门级经典书籍。本书系统介绍了Objective-C语言、Cocoa主要的设计模式、必要的开发工具Xcode...立即去当当网订购

Cocoa源于一段令人愉快的历史。很久以前,有两个叫Steve的家伙,他们在车库中开了一家名为Apple Computer(苹果电脑)的公司。这家公司成长非常迅速,因此他们聘请了一名很有经验的执行官John Sculley来担任公司的CEO。然而,在发生一系列矛盾冲突之后,John Sculley居然使Steve Jobs离开了苹果公司。Steve Jobs在离开苹果公司之后成立了一家新的公司:NeXT Computer。

NeXT公司聘请一些很有才华的工程师组建了一个小团队。这个小团队除了进行计算机、操作系统、打印机以及一套开发工具的研发以外,还开了一家工厂。这些产品在那个年代都很超前,并且令人兴奋和惊讶。遗憾的是,他们的计算机和打印机都没有很好的市场。1993年,他们的工厂被迫关闭,NeXT电脑公司也变成了NeXT软件公司。

在NeXT软件公司里,操作系统和开发工具仍然采用NeXTSTEP的品牌销售。虽然普通的计算机用户很少听说过NeXTSTEP,但是NeXTSTEP在科研、投资银行和情报等领域非常流行。并且有一些人一直在使用NeXTSTEP开发应用程序,他们觉得相对于其他的技术,NeXTSTEP能够更快地将想法变为现实。

这是怎样的一个操作系统呢?NeXT使用了UNIX作为NeXTSTEP的内核,采用了加州大学伯克利分校开发的BSD UNIX源代码。为什么选择UNIX呢?这是因为相对于微软的Windows或者苹果当时的操作系统,UNIX很少崩溃,并且能够提供强大可靠的网络功能。

苹果将这部分UNIX源代码作为Mac OS X的底层基础,并将其命名为Darwin。有一个开源社区一直致力于提升Darwin。读者可以通过访问www.macosforge.org学习更多有关Darwin的内容。

然后,NeXT为操作系统编写了一个窗口服务器。窗口服务器接收用户事件,并转发给应用程序。于是,应用程序发送绘图命令给窗口服务器,让窗口服务器来刷新用户所见的界面。NeXTSTEP窗口服务器一个极好的优点是发给窗口服务器的绘制代码和发给打印机的一样,因此开发人员只需要编写一套绘制代码,便可同时用于屏幕显示和打印。在NeXTSTEP时代,开发人员编写生成PostScript的代码,而在Mac OS X时代,开发人员使用Core Graphics(也就是Quartz)框架的代码,Quartz可以在屏幕上合成这些图形,或者把它们发送到打印机,或者生成PDF(Portable Document Format)数据(PDF是一个由Adobe公司制定的开放协议,用于矢量图形的存储)。

如果读者曾使用过UNIX,那么可能会比较熟悉X窗口服务器,Mac OS X的窗口服务器与X窗口服务器完全不同,但是它能完成与X窗口服务器相同的功能:从用户那里接收事件,并将事件转发给应用程序;将应用程序发来的数据显示在屏幕上。

NeXTSTEP内置了一套库和工具,让开发人员以一种优雅的方式与窗口管理器进行交互。这些库也叫做框架,1993年,这些框架和工具被重新修改并重命名为OpenStep,后来重命名为Cocoa。

如图1-1所示,窗口服务器和应用程序都是UNIX进程。Cocoa可以让应用程序从窗口服务器接收事件,以及通过窗口服务器在屏幕上绘图。


 

框架使用Objective-C语言开发。就像C++一样,Objective-C语言是C语言的一种扩展,因而具备面向对象的特征。和C++不同的是,Objective-C语言是一种弱类型语言,同时也是极其强大的语言。Objective-C语言允许开发人员犯一些低级错误。Objective-C语言是C语言的简单扩充,它非常容易学习。

之所以开发人员喜欢OpenStep,是因为OpenStep可以让他们更容易地试验新想法。实际上,Tim Berners-lee在NeXTSTEP上开发了第一款网络浏览器和网络服务器。证券分析员们可以用它们更快地开发和测试新的金融模块;大学生们可以用其开发他们的研究程序。我不知道情报部门的人用NeXTSTEP来做什么,但是情报部门购买了数千份OpenStep。因为OpenStep开发工具非常实用,所以它们被移植到Solaris和Windows NT上,而NeXTSTEP操作系统也被移植到当时更流行的CPU平台上,包括:Intel、Motorola、Hewlett-Packard的 PA-RISC和SPARC。(奇怪的是,直到1999年,苹果在第一个版本的Mac OS X服务器上—Rhapsody—才移植运行OpenStep。)

许多年来,苹果公司致力于开发一个具有NeXTSTEP大部分特性的操作系统,这就是大家所熟知的Copland计划。但Copland项目逐渐失控了,因此苹果公司最终决定放弃开发,转向从别的公司购买下一个版本的Mac OS。在调查了当时所有的操作系统之后,苹果公司选择了NeXTSTEP。因为NeXT公司很小,所以苹果公司1996年12月收购了NeXT公司。

NeXTSTEP变成了Mac OS X,仍然以UNIX为内核。读者可以在Mac OS X上找到所有的标准UNIX程序,例如Apache Web Server。它非常稳定,并且用户界面也很吸引人。

2008年,苹果发布了iOS SDK。苹果的应用商店也获得了不可思议的成功—带来了数以百万计的iOS开发者,其中大多都是Mac上的Cocoa开发者。Cocoa Touch与Cocoa基础几乎完全一样,事实上两者的很多类都完全一样,更重要的是,设计模式及设计规范本质上没有进行改变。2010年,在Mac OS X Lion发布之前,苹果公司推出了Mac App Store,为Mac开发者发布应用带来了便利。

Cocoa框架使得开发者能以一种优雅、高效的方式编写个性化的应用程序,因此,读者一定会爱上Mac OS X。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站