# 新时代新潮流WebOS 【9】脸谱的故事

- 作者：邓侃
- 发布时间：2009-03-12 12:03
- 分类：公司
- 原文：https://www.ifanr.com/16963

前文说到，WebOS一大特色是基于WebKit的脸谱（Webkit-based Widget Toolkit）。这个做法有什么好处？回答此类问题的一个行之有效的办法是横向比较，货比三家，高下立见。

故事得从1979年，Steve Jobs访问Xerox Parc研究中心说起。Steve Jobs看到鼠标和GUI，兴奋得手舞足蹈。但是怎么做，Xerox Parc的人没有详细介绍。Steve Jobs的对策有二，一个是自己琢磨，另一个是从Xerox Parc挖人。经过一番艰苦努力，很快Apple推出了MacOS，其中最抢眼的，就是GUI。但是这套GUI系统是怎么实现的，Apple也同 Xerox Parc一样，态度是，无可奉告。

其它企业一方面眼馋Apple的技术，另一方面向学界表达它们的失望。在美国，学界是研究与创新的发动机，它的成果通常是公开的，以便广泛迅速地推广这些研究与创新成果，把科技转化为生产力。现在Apple走到学界前面去了，社会对学界当然有所失望。知耻而后勇，MIT的Media Lab着手研究供Unix workstation使用的GUI。1984年，项目告一段落，成果就是X Window System。

这个学术成果一经公布，工业界立刻着手改进，力图把GUI做得更直观，更美观。1980年代末，Sun Microsystems和AT&amp;T合作，推出一套OPEN LOOK，试图把它推广成为Unix workstation的GUI标准。SUN和AT&amp;T的野心不仅仅限于GUI，他们的终极目标是想把诸多Unix版本，统一到自己的版本上。这个举动，引起了IBM，HP等等公司的警觉。

过了几年，1992年，微软推出Window 3.1，一举超越Apple的MacOS，成为PC OS的霸主。Window风格的GUI被广泛接受。IBM和HP联手成立了一个OSF（Open Software Foundation）组织，以此抵制SUN和AT&amp;T兼并Unix的企图。当时在SUN公司内部，很多人把OSF故意曲解为（Opposite SUN Forever，永远反对SUN），可见在SUN的心目中，OSF是SUN的头号敌人。  
OSF的一个成果，是Motif风格的 Unix GUI。而Motif的设计理念，是尽力模仿Window 3.1。Motif在Unix用户群中赢得了广泛认同。眼见局势向不利于自己的方向发展，SUN立刻转变立场，主动寻求与OSF合作。在Motif基础上，糅合进一些OPEN LOOK的元素，成为CDE（Common Desktop Environment）。至此，Unix世界的GUI，基本统一在CDE风格之下。

![drfcsw8&#95;275c45c4vgc&#95;b](https://s3.ifanr.com/wp-content/uploads/2010/08/drfcsw8_275c45c4vgc_b_thumb.jpg "drfcsw8&#95;275c45c4vgc&#95;b")

Figure 1. Comparison between X Windows and CDE  
Courtesy http://farm4.static.flickr.com/3634/3348117565\_7ba1dd7517\_o.jpg

正当Unix世界上演合久必分分久必合的肥皂剧，开源的Linux暗流涌动。1996年，Linux的猛人们觉得CDE已经跟不上时代，于是开发了一套 KDE，K是Kool（Cool的异体词）的首字母。显然，矛头直至CDE。为了方便开发，KDE使用了QT作为图形处理库。但是QT不是开源产品，这一点，违背了Linux和KDE的宗旨。于是，秉持开源理想的Miguel de Icaza 和 Federico Mena 两位20来岁的墨西哥热血青年，率先开始了GNOME项目，与KDE抗衡。GNOME是两个词组的合拼，GNU + Network Object Model Environment。用GNU开头，无非是表明完全开源的立场。

2000年，QT的拥有者Trolltech公司，迫于形势，宣布QT开源。从此以后，KDE和GNOME在开源问题上，已经没有区别，但是两套系统各自拥有自己的追随者，它们的竞争还在继续。

[![File](https://s3.ifanr.com/wp-content/uploads/2010/08/File_thumb5.jpg "File")](https://s3.ifanr.com/wp-content/uploads/2010/08/File4.jpg)Figure 2. Comparison KDE and GNOME  
Courtesy http://farm4.static.flickr.com/3567/3348119637\_6a74b8ca67\_o.jpg

从OPEN LOOK，OSF/Motif，CDE，到KDE，GNOME，眼花缭乱，但是万变不离其宗，基本原理都源于X Windows。X Windows十分庞杂，但是概括起来，最基本是两个模块，

1\. Windowing System，主要负责基本的图形功能，如画点画线，着色字体等等。同时，捕捉来自鼠标，键盘等等的事件。还有，保障多个windows同时工作时，不相互干扰。有意思的是，Windowing System允许一个机器的用户，通过网络在另一台机器上显示windows。

Unix有一个指令，finger，可以查看某台机器上有哪些用户在活动。有淘气者，在自己机器上安装了一个小程序，每当有别人finger他的机器时，不管这个偷窥者是否远在天边，淘气者立刻在对方屏幕上弹出一个小窗口，问，“你找我有事吗？”，非常拉风。

2\. Window Manager，主要负责控制开启和关闭windows，放大缩小拖拽等等动作。同时也负责windows的装饰，以及屏幕的背景图像等等。

[![File](https://s3.ifanr.com/wp-content/uploads/2010/08/File_thumb6.jpg "File")](https://s3.ifanr.com/wp-content/uploads/2010/08/File5.jpg)Figure 3. Comparison Qtopia and WebOS home pages.  
Courtesy http://farm4.static.flickr.com/3457/3348321273\_e6048d6c76\_o.jpg

手机的GUI，显然不同于Workstation和PC的GUI。Trolltech公司在QT基础上，开发了一套专供手机使用的GUI系统，Qtopia。Qtopia已经被Nokia购买，成为Nokia手机GUI控制平台。我们在第八章，“手机OS的上三路与下三路”中，提到过此事。

Palm WebOS没有使用Qtopia，而是从起炉灶，分庭抗礼。第七章，“手机脸谱”中，我们介绍过Palm WebOS的GUI设计。图三左边是Qtopia的主页，右边是Palm WebOS的主页。

[![File](https://s3.ifanr.com/wp-content/uploads/2010/08/File_thumb4.png "File")](https://s3.ifanr.com/wp-content/uploads/2010/08/File4.png)Figure 4. Palm WebOS architecture  
Courtesy http://developer.palm.com/assets/images/book/palm\_0112.png

图四是我们熟悉的Palm WebOS系统架构图，中间偏上有个UI System Manager子系统，其中包括两个模块，Window Manager，和Window Server。看来，Palm WebOS 在GUI系统的设计方面，沿袭了X Windows的基本框架，但是把Windowing System的旧称，更名为Window Server。

问题是，  
1\. Palm WebOS号称它的GUI，是基于WebKit之上。这样的做法，好处在哪里，有没有缺点？  
2\. 沿袭X Windows的原理，能不能满足当代手机UI的需要？譬如，能否在X Windows框架内，植入像Adobe Flash Lite这样的视频技术，使GUI的表现力更丰富？  
3\. 有没有必要让Window Server支持远程遥控的功能，即，PC用户通过互联网远程控制手机脸谱的总体设置，甚至控制某一个window的行为？
