首页 > 范文大全 > 正文

追溯GUI历史

开篇:润墨网以专业的文秘视角,为您筛选了一篇追溯GUI历史范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

未来的图形操作系统将稳定在微软、苹果和Linux阵营三足鼎立的格局,三大体系各自都有坚实的基础。

如果你使用电脑已经有一些年头,那么必定知道那些没有图形界面的操作系统,微软的DOS、UNIX以及最初的Linux,要熟练使用这些操作系统,用户必须牢牢记住大量的命令并且达到应用自如的程度。在那些年代,如果能够掌握计算机操作技能绝对会让人肃然起敬,但也正是由于操作的复杂性,计算机很难真正进入家庭、为普通用户所掌握。

计算机业界很早就意识到这个问题,以图形界面(GUI,Graphic User Interface)代替字符界面成为广泛的共识―图形界面操作直观,用户不加以特殊训练也能够很容易掌握,计算机应用的门槛大大降低。在上世纪八十年代之后,各种类别的操作系统都竞相引入图形界面,这其中除了我们熟知的微软Windows和苹果机之外,还有为数众多、但后来没落无踪的其他系统。在九十年代中期,图形界面开始真正取代字符界面成为标准,这其中又以微软的Windows 95为典型代表。进入到2000年后,操作系统原本残留的字符界面模式被完全取消,而图形界面也不满足以简陋的设计,朝向注重视觉体验的方向发展,苹果Mac OS X与微软Windows XP堪称是两大支柱。而在这之后,图形界面走向完美和个性化时代,终端用户都可以参与其中,为自己设计一套个人化的界面外观,而业界则将目光放到更遥远的将来,希望能在未来操作系统中采用3D化的全新视觉界面。

在下面的文字中,我们将向大家详细介绍图形界面的概念起源、实现以及详细的发展历程,期间将涉及到形形的操作系统。

从理论探索到产品雏型

GUI界面电脑的概念始于上世纪三十年代,当时有一位名为“凡尼佛・布什(Vannevar Bush)”的人物,他天马行空提出一个称为“Memex”的智慧设备,他认为这种设备具有与书桌类似的外观,同时还有两个可触摸操作的显示器、一个输入键盘以及一个扫描仪,通过这个设备,用户可以访问到人类的所有知识库。在那个年代,计算机远未产生,凡尼佛・布什的想法纯属没有根据的科学幻想,根本不可能成为现实。但不可否认的是,这套设想极富远见,它成功地描绘了半个世纪后的计算机形态,也许微软的平板电脑曾经从Memex的直接触摸操作概念中获取灵感。

道格拉斯博士的NLS系统

我们无法确认微软是否借鉴了凡尼佛・布什的天才设想,但可以确信的是,这套设想对操作系统引入GUI图形界面起到了至关重要的启蒙作用。1948年,道格拉斯・恩格尔巴特(Douglas Englebart,GUI与鼠标的发明者)在取得学士学位后进入美国国家航空咨询委员会(NACA,美国宇航局前身)工作,但他不满足于仅从事一些范围狭窄的小项目,而希望自身从事的工作能让整个世界获益。在一次上班途中,他突然回忆起凡尼佛・布什关于“Memex”的文章,并开始思考这样的设备应该如何实现。对于其中的触摸式显示屏,道格拉斯很自然就想到阴极射线管技术―在二战时,道格拉斯曾是一位雷达兵,而当时的雷达显示屏都是使用阴极射线管作为信号显示的核心装置。道格拉斯同时想到,屏幕上的信息应该以图形的方式存在,而操作者能够自由地在屏幕的任何范围选择自己感兴趣的内容。这个设想让道格拉斯兴奋不已,但他万万没有想到,第一个雏形系统到20年后才真正出现。

后来,道格拉斯离职进入加州大学伯克利分校,并于1956年获得电气工程与计算机博士学位,之后道格拉斯博士进入著名的斯坦福研究所,而在此期间他可以真正将自己的构想变成现实。1968年,道格拉斯博士终于获得成功,他将自己所开发的“NLS”图形系统公开演示,这套系统包括一个圆形的CRT显示器、一个键盘和一个鼠标,其名称“NLS”是“在线系统”的缩写,因为它是建立在几台计算机联网的基础上。NLS可以显示出图形界面,用户可以通过移动鼠标在整个屏幕上自由选择内容,实现无纸化的办公。尽管今天看来这种场景再平常不过,但在1968年绝对是革命性的新概念,以至于道格拉斯博士在演示NLS系统时,许多家电视台都进行实时报道、并引起外界的轰动。道格拉斯博士被因此誉为是“GUI界面之父”,不过他还拥有另外一个同样响亮的头衔:“鼠标之父”―他为NLS系统研制的鼠标后来成为计算机的标准输入设备之一,并深刻影响了计算机发展的进程。

Alto电脑与Smalltalk语言

道格拉斯博士的NLS系统让外界震惊,无纸化办公成为许多企业津津乐道的话题,施乐公司(Xerox)因此感到深深不安。印刷设备是施乐的命脉所在,在NLS系统出现后,施乐担忧“无纸时代”的到来将对他们产生巨大的冲击,意识到其中的“风险”,施乐高层认为不如抢先掌握这门技术,成为新领域的领导者,遂于1970年成立著名的帕罗奥托研究中心(PARC)来专门负责此事。尽管无纸化的风险在后来被证明纯属多余(进入PC时代后,办公纸张不仅未减少,反而消耗越多),但施乐高层当时所作的决定仍然是非常英明的。PARC成为世界上最好的研究所,它拥有一流的设备和人材,几乎所有人都是博士,或是各自领域中最好的专家。很自然,PARC拿出了包括操作系统GUI界面在内的大量成果,而且也孕育了许多顶尖的科技人物,这其中包括3Com的创立者Bob Metcalfe以及微软的首席架构师(Chief Architect)查尔斯・西蒙尼(Charles Simonyi),当然这些都是后话。

PARC中心同时进行多个研究项目,在它们的第一批发明成果中就有激光打印机,这被誉为是打印技术的革命性突破。不过,PARC所发明的激光打印机无法独立工作,必须有一台图形化的电脑为它提供待打印的文档才行,而在那时,尚未有这样的电脑存在。PARC的计算机科学家干脆自己动手,他们从道格拉斯博士的NLS系统中获取灵感,并于1973年发明了Alto电脑。Alto被认为是操作系统GUI界面发展史上的里程碑,它拥有视窗(Windows)和下拉菜单(Pull-Down MENU),并通过鼠标(Mouse)进行灵活操作,真正打破了困扰业界已久的人机阻隔,极大提升了操作效率,由此也组成了工业界的WIMP标准。这里有一个不得不提到的插曲:一位名叫查尔斯・西蒙尼的伯克利分校学生有幸参与Alto开发项目,他为Alto电脑编写了一个文本编辑器:“Bravo”,Bravo改变了信息组织和显示的方式,被公认是第一个“所见即所得”的文字处理软件。

1975年,PARC正式对外公开Alto电脑,当时有大量的精英人物前往参观。在花旗银行的代表参观时,西蒙尼向他们演示Alto电脑、Bravo软件、网络和激光打印机的协作过程。Bravo使用各种字体来编辑文件,这些文件被显示在Alto电脑的屏幕上,然后相关数据通过以太网被传输到打印机上,而打印出的文件与屏幕上显示的内容看起来一模一样。“所见即所得”的概念由此产生,而这整整比苹果Macintosh电脑早了11年,但成为标准的却是后者。

与Alto电脑共生的还有Smalltalk语言。Smalltalk是第一种面向对象的编程语言,且具有类似Java的自动内存管理功能,用任何语言来形容这个伟大的成果都不过分。PARC使用Smalltalk语言来设计图形化环境,并带来许多崭新的GUI编程理念,今天我们所见的所有可视化开发平台,都可以看作是Smalltalk的思想衍生。在Alto电脑发明之后,PARC的许多开发成员都希望能够将它商业化―Alto比后来的苹果机屏幕要大,一样有鼠标和图形界面,前景可观。可遗憾的是,施乐一直拘泥于“产品越大越好”的大公司作风,只愿意生产复杂而昂贵的机器,对Alto电脑兴趣不高。Alto电脑定价为5万美元,而激光打印机需要二十万美元,后者自然成为施乐的新方向,Alto电脑则被施乐高层所忽视。随后,PARC的成员坚持对Alto进行多番改进,并最终发展到Alto III型,但开发者强烈的商业化意愿再度被施乐拒绝。直到1981年,施乐公司才将Alto电脑的精简版―Star 8010文档处理机以17000美元的价格推向市场,Star 8010与Alto有较大的不同,但它具备优秀的文档处理能力,多个文档可以并列在屏幕上不相互交叠,用户可以很方便地同时处理。可惜在这个时候,施乐已经错失抢占制高点的最佳时机,在市场上Star 8010没有获得多大的反响。更不幸的是,PARC的众多精英不满施乐而另谋出路,大量的精英加入苹果电脑公司展开冒险之旅,不过开发Bravo软件的查尔斯・西蒙尼却去了当时名不见经传的微软公司,后来他成为了微软的事实缔造者之一。

苹果Lisa/Macintosh的诞生

施乐未及时将Alto推向市场错失良机,最终只有在施乐公司内部为员工所使用,没有对外推广。不过,Alto还是成为图形化操作系统的先导,后来的苹果Lisa电脑和微软Windows 1.0,都可以看作是Alto思想的直接继承。而在图形化操作系统方面,相比微软,苹果显然领先了一步。在当时,由史蒂夫・乔布斯和史蒂夫・沃兹尼克创办的苹果电脑公司被公认为是个人计算机的先锋,可它们在图形界面上并没有太大的建树。AppleⅠ完全基于命令行操作,后来推出的AppleⅡ虽然配有简单的图形界面,但没有鼠标,完全依靠键盘输入,同时也保留了传统的命令行操作。比较幸运的是,施乐公司的Alto没有被推向市场,而IBM在个人计算机领域后知后觉,AppleⅡ便成为当时可买到的唯一一款拥有“图形界面”的个人电脑,而苹果当然也就大发其财,进入前所未有的高速发展阶段。作为一家生机勃勃的年轻企业,苹果公司成为许多精英向往的乐土,施乐PARC中心出走的许多工程师随后都加入苹果,而这些工程师也就得以继续他们之前的工作,这样,Alto电脑及Smalltalk语言就以另一种形式出现在计算机的大舞台上。

从技术水平来看,AppleⅡ计算机无论如何也无法与同时代的Alto相比,PARC的前工程师们深知这一点,在他们的安排下,苹果电脑公司的创始人之一,即后来大名鼎鼎的乔布斯(Steve Jobs)得以进入PARC研究中心,他见到了传说中的Alto电脑并观看了相关演示。乔布斯详细了解了Alto电脑的整套概念,完全图形化的界面和用鼠标灵活输入的操控方式让他深感震惊。在此之后,乔布斯就成为GUI界面的忠实信徒,他决心开发一套类似的电脑并将它推向市场―这是发生在1979年的事情,而乔布斯的这次参观,直接改变了后来的“Lisa”计算机项目,PC与操作系统的发展方向因此被扭转到“正确”方向。

为了完成Lisa,开发者在AppleⅡ计算机上模拟了多种不同的界面原型,包括一套基于任务界面的“Twenty Questions”方案,以及一个拥有四列文件浏览的方案,后一项设计后来在NeXTStep系统和Mac OS X系统中也得到借鉴。不过,Lisa开发团队最终选择基于图标显示的方案,在该方案中,所有的文件、文件夹和应用程序都使用图标来表示,同时它还拥有下拉菜单条,而菜单栏则被放置在屏幕的最上部。如果我们对照一下现在的Mac OS X系统,便会发现它的基本元素仍然继承于Lisa。此外,Lisa计算机还拥有大量的创新,例如引入键盘快捷命令,一些操作频繁的菜单命令可借助快捷键实现,以滚动条代替原本固定高度的窗格;垃圾箱支持拖曳功能,那些不需要的文件可以通过鼠标拖曳的方式直接删除。另外,引入了菜单的前景、背景概念,那些暂时没有被选中的菜单处于较浅的“泛灰色”,这样用户操作时可一目了然。Lisa理所当然引入了鼠标,不过苹果公司对鼠标操作进行了非常大的改变―最初Alto电脑上使用了三键鼠标,后来施乐的Star 8010文档处理机则精简到双键方式,而苹果Lisa则使用只有一个按键的鼠标,这样做是为了简化操作起见(苹果显然低估了用户掌握技术的能力),但基于图标的GUI系统至少需要选中、运行等两种鼠标操作,为此,苹果发明了双击操作,这在后来成为所有GUI操作系统的标准,即便现在的鼠标已经拥有大量的按键。

Lisa计算机开创了许多前所未有的GUI概念,而这些概念也多数都被沿用至今。我们知道,之前的施乐Alto电脑和Star 8010文档处理机都有图标的概念,但Lisa才是第一部真正采用图标来表示文件的计算机。在Lisa系统中,图标文件以地址路径的方式加以组织,开启每个路径时都会弹出一个独立的显示窗口;而Lisa引入的“拖放操作”也堪称一大发明,它以直观自然的方式实现很多原本复杂的操作,例如,我们可以选中文件、文件夹并将它们拖到其他的窗口下,这样就完成拷贝操作;此外Lisa还有大量可有效简化操作的细微设计,如允许用户为每个文件指定执行的程序,只要双击该文件便会被相应的程序自动开启。几乎所有的这些细节在后来的GUI操作系统中都得到传承。

Lisa项目始于1979年,但直到1983年才正式开发完毕。可问题接踵而来,这部计算机售价定在1万美元,虽然在当时这样的价格不算昂贵,但还是有大量的用户无法接受,而如果用户群体不够广泛,专门为Lisa平台开发软件就变得很不现实。为此,苹果决定开发廉价版的Lisa,这也就是著名的“Macintosh”项目。Macintosh计算机在1984年被推向市场,它拥有一个9英寸的单色屏幕、128KB内存和一个软盘驱动器,保留了Lisa计算机大量的GUI特性,但它不具备多任务处理能力,也无法实现在两个程序间灵活切换,售价只有2495美元。Macintosh的引发巨大的轰动,人们第一次看到计算机拥有如此绚丽的操作界面、听到计算机能发出如此美妙的声音,而且也是第一次体验到计算机如此简便的操作。Macintosh的业绩堪称辉煌,苹果公司也到达发展史上的最高点―虽然此后,苹果公司一直走下坡路,但Macintosh的后续版本似乎没有受到特别大的影响,即便在九十年代中后期苹果濒临倒闭时,Mac OS 8和Mac OS 9在技术上依然没有落后对手。

兴旺蓬勃的GUI运动

除了苹果的Lisa外,在上世纪八十年代还有大量的GUI操作系统,包括VisiCorp公司的VisiOn、微软的Windows 1.0和2.0、Tandy公司的DeskMate、Digital Research的GEM、IBM OS/2、NeXT公司的NeXTStep、为UNIX开发的X Window等等,但除了Windows、NeXTStep和X Window最终修成正果外,其他的所有GUI后来都没有得到持续发展。下面,我们将以出现时间的先后顺序来向大家介绍这些GUI的特性及发展概况。

VisiOn操作系统

在苹果致力于开发Lisa图形界面时,VisiCorp公司也在从事同样的工作。VisiCorp是世界上第一款电子表格软件VisiCalc的缔造者,当时它是最强的PC应用软件企业。不过,VisiCorp并非自己制造计算机,而是为IBM PC开发带有图形GUI的操作系统,这套产品被定名为“VisiOn”,时间是在1983年。

尽管VisiOn也实现了图形化操作,但它存在大量的不足:首先,VisiOn的价格过于昂贵,单套软件的售价就达到1495美元,这让许多用户难以接受;其次,VisiOn对硬件要求明显过高,它只有在512KB内存、带有硬盘和鼠标的PC-XT计算机上才能够工作,这样许多不符合要求的用户就被挡在门外。更要命的是,VisiOn在设计上并无过人之处,如它只支持640×200的单色图形模式,也未脱离基于文本的痕迹。例如,VisiOn根本无法支持图标功能,用户必须点击文本标签才能够打开文件或执行程序;在视觉方面,VisiOn仅支持固定宽度的字体显示,不仅明显逊于苹果的Lisa和Macintosh,甚至连施乐Alto、Star 8010都不如。另外,VisiOn对鼠标支持极为有限,它甚至无法支持鼠标斜线移动,而仅能让光标水平或垂直运动―这相当于1968年道格拉斯博士NLS系统的水平。虽然技术比Lisa落后了一大截,但它却是当时PC机唯一能够使用的GUI图形操作系统。不幸的是,当比尔・盖茨看到VisiOn给DOS带来的现实威胁后,发起了一场堪称经典的宣传战。微软竭尽所能向用户大力宣传Windows系统的种种好处,力求从心理上和精神上赢得用户,这场宣传战的目的在于瓦解潜在对手而非促进销售。事实上,在那个时候Windows不仅还没有面市,而且几乎还未开始设计。但微软的这场宣传非常有效,当VisiOn开始销售时,VisiCorp意外发现接受这套产品的人寥寥无几,因为几乎整个世界都在等待微软的“Windows”。VisiCorp公司轻而易举就被微软击败,同时VisiOn也走到了尽头,没有后来者为它延续生命。

微软Windows起步

VisiOn无疑是非常失败的产品,但它却促使微软不得不开发比它更有竞争力的产品。起初,微软将自己的GUI系统命名为“Interface Manager(界面管理者)”,但后来选择了一个更形象、更有亲和力的名字Windows。Windows的原型系统于1983年推出,它的界面看起来就像是VisiOn与Microsoft Word for DOS操作界面的混合―Microsoft Word for DOS脱胎于Alto电脑的Bravo编辑器,它是西蒙尼加入微软后带来的杰作。

此后又过了两年,Windows 1.0才得以正式。与原型系统相比,Windows 1.0明显成熟,它拥有流行GUI的共有特点,例如页面滚动条、窗口控制器和菜单,但在细节设计上Windows与其他的GUI还是存在大量的不同,例如每个应用程序都有菜单栏,采用窗口平铺而非重叠设计。这其中有一个有趣的插曲,来自施乐PARC中心的设计者认为平铺设计优于重叠设计,但比尔・盖茨本人并不这么认为,遂定下未来的Windows GUI应采用窗口重叠方式,这套规则在Windows 2.0生效后被一直沿用至今。不过Windows 1.0还是采用平铺设计,当然它并非是一套独立的操作系统,而是为DOS系统设计的GUI图形界面。由于Windows 1.0功能弱小,绝大多数用户还是习惯于使用命令行。

Tandy DeskMate GUI系统

Tandy计算机公司的名字也许没有多少人听说过,但在1984年,这家公司也了它们独自开发的GUI系统DeskMate。不过,DeskMate对鼠标支持非常有限,它主要依靠键盘操作,并采用平铺设计的窗口。理所当然,DeskMate非常难于使用,而在销售上,它一直与Tandy自己的计算机捆绑,未有公开推广。

Digital Research推出GEM GUI

1985年底,Digital Research公司推出一种名为GEM的图形环境,与Windows一样,它是一套为DOS系统设计的GUI,但同时也可工作在Atari的ST计算机上(Atari公司成立于1972年,由美国犹他大学毕业生Bushnell创立,从事供家庭娱乐的计算机软硬件研发,可以说是当今电子游戏机的始祖)。实际上,GEM也是由大量来自施乐PARC的研发人员操刀,但不幸的是,它与苹果的Lisa/Macintosh GUI实在是太像了,同样的图标表示,菜单栏被放置在屏幕顶部,鼠标操作也非常相似。大为光火的苹果Digital Research侵权,结果便是Digital Research被迫对PC DOS的GEM版本作修改,但比较奇怪的是,针对Atari计算机的GEM GUI居然没有受到波及。

Amiga Workbench图形环境

Commodore公司出品的Amiga计算机曾在市场上风靡一时,它使用了支持多媒体图形和音频的多处理器技术,具有优秀的视频与音频质量,这也使得它广泛超越了同时期的其它电脑。此外,Amiga配备的操作系统可支持多任务环境,这一点连苹果、微软和IBM都自愧不如,不过在图形环境方面,Amiga采用的是一套名为“Workbench”的GUI,在当时它也算颇有亮点:支持窗口的上下移动,选择或移动时窗口会自动出现在前景,位于顶部的菜单栏可自动隐藏,并可通过鼠标右键加以激活等等。但由于Commodore公司经营不善,Workbench GUI后来也没有了下文。

Berkely SoftworksGEOS

在1986年,Berkely Softworks公司了GEOS图形GUI,它与遇到麻烦的GEM GUI有不少相似之处,但其主要应用对象是诸如Apple Ⅱ、Commodore 64等有些年头的计算机产品。很不幸,GEOS出台的时间太迟了,此时它面临着微软Windows的强力竞争,自然GEOS后来也不知所踪。

微软Windows 2.0

在1987年,微软将Windows GUI升级到2.0版本,Windows 2.0放弃了窗口平铺设计,转为目前流行的重叠模式,并使用了大量类似Macintosh的GUI元素,成熟度远远优于之前的1.0版。苹果公司看到之后深表震惊,他们不惜提讼,认为Windows 2.0侵犯了Macintosh的“look & feel”视觉专利,苹果声称,Macintosh的“整体视觉外观”受到著作权保护,Windows虽然在某些窗口细节方面不同于Macintosh,但整体看起来非常类似。而法庭随之要求苹果公司提供具体的证据,苹果遂提交了189个GUI元素。不幸的是,苹果似乎忘记了其中的179个元素都已经在微软Windows 1.0协议中许可过(以换取微软为Macintosh平台开发办公软件),而剩下的10个元素基本上都不受著作权保护,要么不是苹果的原创,要么这些元素就是唯一可能的通用实现。这场诉讼最终持续到1994年,苹果陷入完全的失败,此时没有什么力量可以阻挡微软的崛起。

有必要提到一个有趣的插曲:在苹果微软侵权期间,施乐公司也提起对苹果的诉讼,施乐声称它才是GUI著作权的真正拥有者,而从历史发展来看,施乐确实是所有GUI的发展源头。不过,这个案子在技术层面也被否决。

针对32位RISC平台的“Arthur”

也是在1987年,Acorn计算机公司世界上首款采用32位RISC处理器(ARM2处理器,8MHz)的微型电脑―Acorn A305/A310,同时它们也为这台电脑设计了一款名为“Arthur”的GUI。与其他多数GUI一样,Arthur带有滚动条,允许用户通过卷动页面来获取更多的内容,同时也拥有不少创举。Arthur可显示出16种颜色,它同时也是第一款可支持抗锯齿字体显示的GUI产品;而且在屏幕底部位置还设计了一个专门的“停靠栏(Dock)”,常用程序的快捷方式或工具可以被放在该停靠栏上,这样用户就能迅速操作电脑。在多年以后,苹果公司在设计Mac OS X时也引入了这项设计,这是后话。而Arthur后来被Acorn公司重命名为“RISC OS”,并发展到4.0版本,但它最终还是没有在残酷的竞争中生存下去。

这里有必要插入一些题外话。我们知道,80年代中期和之前的许多GUI产品,都采用固定宽度的字体,如GEM、Windows 1.0、Amiga Workbench和Acorn的Arthur等等。但事实上,所有这些GUI都可以在应用程序中支持比例显示的字体,设计者之所以没有在操作系统中采用同样的设计,原因在于当时计算机显示器的分辨率实在太低了――多数计算的显示器都只有640×200分辨率,即使是Macintosh,最高也只能支持384像素的垂直分辨率。而随着技术的发展,显示分辨率不断提高,GUI也普遍采纳比例显示字体作为新标准。

乔布斯打造NeXTStep

在1985年,乔布斯离开亲手创立的苹果公司,成立了一家名为“NeXT”的电脑公司,乔布斯希望打造一款真正面向未来的终极电脑,开发新的图形化操作系统当然就是重中之重。NeXT公司的作品被命名为“NeXTStep”,开发工作始于1985年终于1988年。从技术上讲,NeXTStep的确是一款卓越不凡的图形化操作系统:所有GUI元素都加以三维阴影修饰,包括窗口、菜单、按钮等等,一改之前GUI的简陋作风;NeXTStep率先在窗口右上角设立“X”符号,作为关闭窗口的快捷方式;NeXTStep引入垂直菜单条设计,用户只要点击屏幕左上角的特定标识菜单条就会下拉,而鼠标在屏幕上的其他位置再点击一下菜单条就会自动关闭,操作颇为方便;NeXTStep也引入了Dock停靠栏,但与Arthur GUI不同的是,这个停靠栏可以被放在屏幕的任意一边(默认位置为屏幕的右边)。

由于视觉效果大大提升,NeXTStep对硬件也提出了“苛刻”的要求,一款具有较高分辨率的显示器是必须的,否则NeXTStep就无法正常工作。

1988年IBM OS/2诞生

IBM的OS/2也是在1988年诞生,它原本设计作为DOS的替代品,由IBM与微软联手操刀。那个时候,微软远没有向IBM说不的勇气,但他们在OS/2开发上也没有什么杰出表现。OS/2 1.0版基于文本命令行方式操作,而1.1版则增加了图形GUI,在上面的图片中,你可以看到它与微软Windows 2.0颇为类似,但技术水准比同期出现的NeXTStep落后了数个档次。

针对UNIX的X Window System

GUI大潮不可避免波及到铁板一块的UNIX领域,早在1984年,麻省理工学院(MIT)就与DEC公司合作,致力于在UNIX系统上开发一个分散式的视窗环境,这便是大名鼎鼎的“X Window System”项目。1986年,MIT正式发行X Window,此后它便成为UNIX的标准视窗环境。紧接着,全力负责发展该项目的X协会成立,X Window进入了新阶段。与此同时,许多UNIX厂商也在X Window原型上开发适合自己的UNIX GUI视窗环境,其中比较著名的有SUN与AT&T联手开发的“Open Look”、IBM主导下的OSF(Open Software Foundation,开放软件基金会)开发出“Motif”。而一些爱好者则成立了非营利的XFree86组织,致力于在X86系统上开发X Window,不过这套免费且功能完整的X Window很快就进入了商用UNIX系统中,且被移植到多种硬件平台,而后来的Linux也直接从该项目中获益。

X Window项目最初的目的只是提供简单的图形框架,以在UNIX工作站的大屏幕上显示更多的命令,同时设计一个显示时钟以免屏幕看起来空空荡荡,对于GUI的精美程度和易用程度并不讲究,毕竟那时候能够熟练操作UNIX的都是些习惯命令行的高手,根本不在乎GUI存在与否。因此,X Window最初被设计得很简单,许多GUI元素模仿于微软的Windows,但它拥有一个小小的创新,当鼠标指针移动在某个窗口时,该窗口会被自动激活,用户无需点击便能够直接输入,简化了用户操作。

由于必须以UNIX系统作为基础,X Window注定只能成为UNIX上的一个应用,而无法与之高度整合,但这种设计也赋予X Window很高的灵活性。X Window从逻辑上分为三层:最底层的X Server主要处理输入输出信息并维护相关资源,它接受来自键盘、鼠标的操作并将它交给X Client处理,而由X Client传来的输出信息也由它来负责输出;最外层的X Client则提供一个完整的GUI界面,负责与用户的直接交互;衔接X Server与X Client的就是“X Protocol(X通讯协议)”,它的任务是充当这两者的沟通管道。尽管UNIX厂商采用相同的X Window,但由于终端的X Client并不相同,这就导致不同UNIX产品搭配的GUI界面看起来非常不一样。而进入90年代后,Linux和FreeBSD以自由的名义蓬勃发展,这两者都需要一个同样自由、开源的X Client桌面环境―分别在1996年和1997年,自由软件界发起了KDE(K Desktop Environment)和Gnome两个项目,这一点我们会在后面加以介绍。

Windows、Mac OS X、KDE/Gnome三杰胜出

进入90年代后,大量的个人电脑厂商在竞争中快速倒闭,而在这场旷日持久的GUI之战中,只有微软Windows与苹果Macintosh得以幸存。Digital Research公司在1989年停止了GEM项目,数年后整家公司出售给Novell。而采用GEM GUI的Atari公司在1993年关闭了自己的生产线。也是在这一年,NeXT公司停止了硬件业务专注于OS开发,乔布斯本人在1997年回归苹果之后,NeXTStep也就成为Mac OS X的基础。Commodore公司在1994破产,Workbench GUI由此中断。至于后来被命名为RISC OS的Arthur GUI,直到1998年才被停售。

从Windows 3.0到Windows 2000

在这场GUI大战中,微软成为最大的胜利者,尽管它在技术和理念上都不领先,获胜的奥秘或许更多应该归结于微软成功的商业运作。在1990年,微软推出Windows 3.0版本,3.1版则在1992年推出,这两者在外观上有了小小的进步,可支持更多的色彩,但它们依然无法提供与Macintosh相媲美的丰富视觉特性,不过这些缺陷并没有妨碍Windows 3.x的市场成绩。在不长的时间内微软就售出数百万份拷贝,原因在于当时IBM PC已成为标准,苹果再也无力与之竞争,这样,Windows 3.x便成为唯一的选择。

1995年,微软Windows 95,这绝对是一个划时代的GUI系统,Windows 95承袭于Windows 3.x,仍然以DOS为基础,但它彻底抛离了命令行,用户在漂亮的图形环境下可以干任何事情,而不必借助那些晦涩难记的命令行。此时,CRT显示器已经可以提供适应GUI系统的理想分辨率和彩色显示,Windows 95在这些方面大放异彩。在发售当日,专卖店甚至出现彻夜排队的情形,而它也是微软迄今为止最富革命意义的操作系统。Windows 95的伟大意义不仅在于宣告图形化PC时代的到来,更是为PC向大众普及立下了汗马功劳。

1998年,微软Windows 98,不过它只是Windows 95的适应性改进版本,增加对更多硬件的支持。Windows 98同样大受欢迎,在很短的时间内就完成普及重任,但与此同时,伴随Windows 98还有一个非常著名的“蓝屏错误”,因为它动不动就崩溃出现蓝屏。

在发展Windows 3.x至Windows 98产品线的同时,微软还拥有一个专门针对工作站的NT产品线。Windows NT的历史可追溯到1988年,当时微软获得来自Digital公司、以David N. Cutler为首的核心技术组―Cutler原本为Digital公司开发操作系统,但在1988年Digital的执行层取消了Cutler的项目,并裁去许多员工,嗅觉敏锐的微软不费吹灰之力将这个梦寐以求的团队招至麾下,从此开始NT项目的生涯,而Cutler本人则成为Windows NT的首席设计师。

Windows NT的内部项目名称原本是“OS/2 NT”,微软当时的意思是让它继承OS/2,保留OS/2的API作为新操作系统的接口,而“NT”两个字母则是“New Technology”的缩写。不幸的是,1990年Windows 3.0的成功让微软的想法大大改变,与IBM的关系也不复存在,很快它就被更名为Windows NT。1993年,Windows NT的第一个版本,它采用与Windows 3.x一样的gui和Win32 API(从 Windows 3.0的16位API 进化而来的32位版本),这样它就可以直接兼容Windows 3.x应用程序,当然在系统核心上这两大系列是完全不同的。此后,NT获得相当稳健的发展,与Windows 95/98齐头并进。但在Windows 98之后,糟糕的稳定性受到外界一直指责,微软意识到问题的严重性,决定对产品线进行整合。结果便是NT成为未来操作系统的基础,而Windows 98系列在衍生出Windows Me之后就被终结,不过,它的GUI界面被完整地承袭下来。

1999年,基于NT内核的Windows 2000,微软本想将它作为Windows 98和NT的接替者,但消费市场对此不太认同,因为前者的硬件要求较高,一些配置落后的机器运行缓慢,更要命的是Windows 2000平台对游戏兼容性很差,当时大多数游戏都无法在新平台上运作,Windows 98的主流地位并没有被撼动。至于GUI界面,如我们所见,Windows 2000与Windows 98几乎没有任何区别,微软甚至都懒得对它作一番美化工作,因为在这个时候,微软在操作系统和办公软件领域都已占据绝对的垄断地位,甚至根本不存在一个有威胁的对手,直到Linux运动渐入佳境之后情况才有所改变。

IBM OS/2惨痛夭折

在Windows 3.x开始流行的同时,OS/2系统的销售成绩却很不如人意,业界传出IBM与微软关系出现重大裂痕的传言,其实事实也是如此,最终IBM获得了OS/2并独立开发,而微软则专注于自身的Windows系统。1992年,IBMOS/2 2.0版本,新版本引入一套名为“Workplace”的GUI外观,它吸收了大量NeXTStep系统的精髓(IBM从NeXT公司手中获得使用权),例如拖放图标、字体、背景颜色等等许多地方都雷同于NeXTStep。另外,OS/2 2.0还可以通过虚拟机技术,允许一套Windows 3.1 GUI在其上运行,用户可以以全屏或窗口模式来运行Windows 3.1及相关的所有应用程序。

但遗憾的是,这个时候微软已羽翼丰满,Windows 3.x成为市场主流,而在微软Windows 95之后,IBM的OS/2就被彻底边缘化,它的最后一个版本是1996年的OS/2 4.0,在这之后OS/2就销声匿迹了。

生不逢时的BeOS

在90年代中期,GUI界面的同质化现象就非常明显了,虽然各家方案都有自己的特点,但整体上都大同小异。即便如此,我们还是看到了一些创新,BeOS就是其中的一例。BeOS由Be公司所开发,该公司的创始者是一位名叫Gassée的法国人、苹果公司的前领导之一。BeOS的开发目的明确,基于UNIX核心、专为多媒体应用设计,其正式版本于1996年11月,只能工作在苹果的Mac平台上,不过1998年Be公司推出了针对X86 PC的版本。BeOS在GUI设计上有不少亮点,如它创造了“任务组(Taskbar Grouping)”的概念,即同样的程序或开启文档可以被自动分类,以免占用过多的空间,而用户通过选择子菜单就可以找到相应的文档。这项设计后来被微软借鉴,并在Windows XP中得到采用。此外,BeOS还在窗口顶部设计了一个专门的移动条,以便让用户可以自由移动窗口,但这看来似乎多此一举。

BeOS特别偏重多媒体功能,被誉为是“多媒体大师的天堂”,不少制作人都采用BeOS作为自己的开发平台。而在技术水平上,BeOS也优于同时代的Linux,可惜它并没有在大众市场获得流行。2002年,Be公司被Palm收购,BeOS发展到5.0版之后就嘎然而止,而还算幸运的是,BeOS并没有彻底消失,它衍生出大量的版本,尽管这些版本都没有什么影响力。

Mac OS X与Aqua界面

在九十年代的绝大部分时间,苹果公司都陷入一场持久的混乱,产品开发失误、决策失误、领导更迭接踵而来,称得上奇迹的是这家公司居然没有倒闭。1997年,苹果推出Mac OS 8系统,技术水准并不比后来的Windows 98落后,它在短暂热销后又陷入僵局,苹果糟糕的硬件产品成为最大的瓶颈。也是在这一年,乔布斯回归,NeXT公司被苹果并购,NeXTStep操作系统自然落入苹果囊中。重新成为苹果当家人之后,乔布斯作出一个有史以来最为英明的决策:它决定在NeXTStep基础上开发下一代Mac OS X系统。Mac OS X采用Darwin内核,它是UNIX家族的一个变种,当然拥有UNIX类操作系统惯有的高稳定性。苹果为OS X设计了一套名为“Aqua”的GUI,Aqua非常漂亮,拥有类似水流的平滑动感,设计精美的图标、菜单和停靠栏,当它在1999年亮相的时候引起外界一片惊叹,但在它的时候,时间表已经翻到了2000年。

Mac OS X、Windows XP与Linux Gnome/KDE三足鼎立

进入2000年后,GUI领域变得寂静下来,OS/2、BeOS出局,该领域的角逐者只剩下微软、苹果与Linux。微软公司无疑是当中的老大,Windows 98、Windows Me和Windows 2000完全垄断了X86 PC市场,不过这些产品在GUI方面居然没有丝毫长进。真正代表GUI最高水平的应该是脱胎换骨的苹果公司,Mac OS X 10.0以漂亮精致的界面和简易的操作征服了一大批追随者,加之硬件产品大有改善,苹果公司走出了泥潭。而等到2002年推出的10.2版本(Panther),OS X的界面进一步美化、视觉观感更加舒适,几乎达到无可挑剔的境界,这一点相信大家都有目共睹。2005年4月,苹果最新的10.4(Tiger)版本,新版系统以创新技术和高安全性取胜,GUI方面的修改不多。Tiger系统正式推出当天,苹果的专卖店也排起了长长的队伍,而Tiger本身则名列2005年IT百佳产品。至于微软公司,2001年推出的Windows XP算得上大作,它引入了名为“Luna”的视觉外观,获得一定的好评,但在这之后,Windows XP的GUI毫无变化,微软也懒得对它作哪怕一丁点的美化。

2000年后GUI领域的一个重大变化就是Linux的崛起,确切地说,应该是KDE和Gnome桌面环境的不断完善。前面我们提到,这两个桌面环境项目始于1996年和1997年,当时各操作系统的GUI都相当完善,难有发挥空间,KDE与Gnome与其他同年代的GUI谈不上有什么本质差异。2000年前后,Linux运动的蓬勃兴起带动了这两个项目,但由于当时自由软件阵营尚未形成良好的开源模式,项目进度缓慢。幸运的是,当Linux在2001-2003年陷入低潮期时,KDE与Gnome反而修练好基本功,大量的开发者参与其中,项目开发变得顺利。2002年2月,KDE 3.0正式,它的可用度达到全新的水准,如果单就GUI而言,KDE 3.0绝不逊于Windows XP,它可支持主题界面自由更换更是一大亮点(Windows XP也可以通过第三方软件做到),当然在软件方面Linux平台欠缺太多,这就注定了它无法很快成为Windows的替代品。目前KDE的最新版本是3.4,如果你接触过Linux的近期发行版本,不难了解到它的综合品质。而Gnome项目也是大同小异,目前它的最新版本是2.6.10,开发者表示,Gnome项目在GUI方面已超越Windows的水平,未来它的发展目标是媲美苹果的Mac OS X―以Gnome项目神速的发展来看,也许我们经过一段时间就可看到这一幕。我们可以预见,未来的图形操作系统将稳定在微软、苹果和Linux阵营三足鼎立的格局,三大体系各自都有坚实的基础,淘汰的案例基本不可能再发生。