Cocoa 19 岁生日快乐

1994年10月19号这些 NeXT Computer, Inc(后来成为NeXT Software, Inc。)为OpenStep发布了一篇文章,它是一个编写应用程序的跨平台接口,基于它们现有的Objective-C 框架和Display PostScript 图形系统。

一点相关的历史

率先是消息传递面向对象编程,它是以Smalltalk的形式出现的。好吧,其实不是率先,我的意思是率先出现的是Simula 67,并且在那之前还没完呢,但每一个故事总得在某个地方开头是吧。在1982年 BradCox 为了创建面向对象的预编译器,他就吧SmallTalk消息添加到了 C 语言中。在他和Tom Love在国际生产力产品的工作中,最终进化成了Objective-C。

Cocoa 19 岁生日快乐_第1张图片

如果PPI(这是下一个里程碑)有任何比NeXT更大的客户的话,那它们就不会不对软件产业产生更大的影响。1988年NeXT发布了它们在UNIX平台上的第一个版本,  NEXTSTEP。他的应用编程接口将Objective-C对象展现窗口、菜单的“应用程序包”,以及使用Adobe的Display PostScript的视图结合在一起,已提供一个高保真(我的意思是,如果你喜欢灰色,我猜想)WYSIWYG应用环境。

请注意:这里我选择 Garfinkel和Mahoney的书,其原因在稍后将不言自明。我恰好也是从这本书学习到怎样制作应用的。

NEXTSTEP API其一定的局限性是明显的。我不会都把它们给列出来,或者尝试去给它们做任何优先级的排序,这足以说明进行重大改革的必要性。但企业级对象框架来临的时候,NeXT也被引介给了Foundation Kit,它是被设计用来推行公共约定、便携性和通过Unicode支持的本地化增强的“一个基础工具类的小集合”。迄今为止,应用程序已经使用过的有C的字符串和数组。

现在是时候让应用开发者使用了Foundation Kit了。为此(并且毫无犹疑),应用程序套件会作为App Kit发布,这被文档化在我们上面看到的规范中。

OpenStep的发布

OpenStep不应该仅仅是做应用程序工具的正确理由,它同时也是NeXT新策略下的一部分,OpenStep授权它的软件和工具到其他的平台供应商,而不是限制在它自己那几千个客户。基于便携式基础装备,NeXT让OpenStep为自己的平台(现在叫做OPENSTEP)和Windows NT,以及OpenStep下的各大企业而服务。太阳微系统公司也授权它为SPARC Solaris。

NeXT发生了什么

关于OpenStep的下一个版本,首先注意到的事就是下面那本书的封面设计得像在大约1997年发现了酸一样。

每个人可能都意识到NeXT会在1996年底反向收购苹果。

OpenStep的第一个版本将会由苹果发布,一位开发者预测他们下一代操作系统将会是一部狂想曲。最后变成了一个产品:MacMac OS X Server 1.0版本。苹果实际上也发布了另外的OpenStep产品:后来1999年在NeXT平台下的一个y2k兼容补丁。

讲剩下的故事有点诱人,犹如结局已定,但那时并没有。在Rhapsody自身,并不清楚Apple将为OpenStep(现在叫做“Yellow Box”)应用推动Objective-C,还是因Java而更喜欢Yellow Box。运行Mac应用的“Blue Box”环境仅是个安装了旧版本Macintosh系统的虚拟机,并没有方法把Mac软件直接移植到Rhapsody。OpenStep软件是否(或者是的话,何时)将成为用户平台,或者它是否注定将成为传统Mac工作组的服务器并不清晰。

当引入Carbon API,它随后与Mac OS X一同到来。在Rhapsody和Mac OS X间,Apple引入了过渡框架,使得“经典的“软件可以移植到新平台。他们也从系统中丢掉了OpenStep特定库的三分之一,因为Adobe的屏幕显示系统被Quartz和Core Graphics替代。再次说明,原因很多很复杂,尽管我知道有人注意到,如果如果他们发行拥有DPS软件的Mac OS X,那么他们因为Adobe许可支付费用将上升大约1000倍。命名为scheme的彩色盒被丢弃了,因为Apple重新使用了stagecast creator软件的名字:Cocoa。

所以那段时间Apple看起来很乐意发布他们拥有的任何东西:UNIX、Classic Mac、Carbon、Cocoa-ObjC和Cocoa-Java。把这些扔到墙上,其中一些可以继续坚持。

Cocoa 19 岁生日快乐_第2张图片

随着时间的流逝,当其他部分搞出乱子,在墙底生成了一些乱七八糟的的东西,有些部分确实被卡住了(你懂得,这确实可以做一个很远的类比)。牺牲品包括了Cocoa-Java、经典运行环境和Carbin API。我们在这样的一个环境结束,当前的Mac平台(和少量的扩展的iOS)是一个直接,并非常接近、派生于OpenStep平台,在1994年的今天出现。

Cocoa,生日快乐!

你可能感兴趣的:(面向对象,cocoa,操作系统,graphics,core,面向对象编程)