1985年,乔布斯在被苹果赶出管理层后,离开了这家公司,凭借着Ross Perot和自己的资源,试图作出“下一个重大突破”。最终,他创立了NeXT电脑公司。作为首款配备数字信号处理器(DSP)和高容量光盘驱动器的工作站,NeXT硬件在其时代处于技术前沿,但相对于快速商品化的工作站市场而言,其价格却显得太过昂贵。NeXT硬件终于在1993年被逐步淘汰,然而,这家公司开发的面向对象的操作系统NeXTSTEP却影响深远,成为了Mac OS X的基础。
1997年2月4日,苹果公司以4.27亿美元收购了NeXT,并将OPENSTEP作为Mac OS X的基础。macOS中仍然可以看到NeXT软件的痕迹。例如,在Cocoa开发环境中,Objective-C库类名都有“NS”前缀,macOS中的“defaults”命令的使用手册有一历史部分,明确指出该命令“首次出现在NeXTStep中”。
NeXT被引入苹果
同时,苹果公司也面临着商业上的困境。经典Mac OS已有十年历史,而其单一用户、协作式多任务(co-operative multitasking)的架构已经成为了该系统发展的桎梏,它曾经先进的用户界面也越来越过时了。苹果于1994年启动了一项名为Copland的计划,试图取代该系统,但在公司之外,人们普遍认为由于苹果内部的政治倾轧和互相冲突的目标,这个计划已经无望实现。到1996年,Copland项目距离发布仍然遥遥无期,最终该项目被取消。Copland中的一些元素则被融入到了1997年7月26日发布的Mac OS 8当中去。
在接下来的两年中,苹果开展了大量工作,将原有的Macintosh API移植到名为Carbon的Unix库中。Mac OS程序不需彻底重写,就可以移植到Carbon上,这样它们就可以在新系统上像原生程序一样运行。与此同时,使用旧工具包编写的应用程序将通过“经典”Mac OS 9环境获得支持。另外,还增加了对C、C++、Objective-C、Java和Python的支持,进一步提升了开发者对新平台的适应性。
这一时期,Java编程语言的受欢迎程度有所提升,因此苹果开始着手提升Mac对Java的支持。这包括将一种高性能的Java虚拟机移植到该平台,并将Mac OS X特有的 “Cocoa” API暴露给Java语言。
该操作系统的首次发布是Mac OS X Server 1.0,它采用略经修改的Mac OS图形用户界面。不过从 Mac OS X Developer Preview 3 开始,所有客户端版本都采用了一种名叫Aqua的新主题。Aqua 与 Mac OS 9 界面有了显著的不同,后者从原始Macintosh操作系统问世以来变化甚少。Aqua拥有全彩可缩放图形、文本和图形的抗锯齿处理、模拟阴影和高光、透明度和阴影效果以及动画等特性。新增的应用程序启动器”程序坞”(Dock),则是充分利用了这些功能。
尽管如此,Mac OS X仍保持了与传统Mac OS界面以及苹果公司自身的Apple Human Interface Guidelines的高度一致性,包括屏幕顶部的下拉菜单、熟悉的键盘快捷键以及对单按钮鼠标的支持。Aqua的开发因从OPENSTEP的Display PostScript引擎切换到苹果内部开发的、无许可限制的Quartz引擎而有所延迟。
發行
蘋果於1999年1月推出 Mac OS X Server 1.0,Mac OS X 的公開測試版於2000年釋出,且於2001年3月24日看到完整和官方推出的 Mac OS X 版本 10.0。10.1版大概於2001年9月25日出貨,接著是於2002年8月24日 Mac OS X 10.2 ("Jaguar") 的推出,於2003年10月24日推出Mac OS X 10.3 ("Panther"),於2005年4月29日推出Mac OS X 10.4 ("Tiger"),於2007年10月26日發行推出Mac OS X v10.5 ("Leopard")。Mac OS X 10.6 "Snow Leopard"於2009年9月份發行,2011年7月20日推出 Mac OS X 10.7 "Lion"。