五千年(敝帚自珍)

主题:【原创】新时代新潮流WebOS 【1】 -- 邓侃

共:💬594 🌺1902
全看分页树展 · 主题 跟帖
家园 【原创】【9】脸谱的故事

【9】脸谱的故事

前文说到,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&T合作,推出一套OPEN LOOK,试图把它推广成为Unix workstation的GUI标准。SUN和AT&T的野心不仅仅限于GUI,他们的终极目标是想把诸多Unix版本,统一到自己的版本上。这个举动,引起了IBM,HP等等公司的警觉。

过了几年,1992年,微软推出Windows 3.11,一举超越Apple的MacOS,成为PC OS的霸主。Windows风格的GUI被广泛接受。IBM和HP联手成立了一个OSF(Open Software Foundation)组织,以此抵制SUN和AT&T兼并Unix的企图。当时在SUN公司内部,很多人把OSF故意曲解为(Opposite SUN Forever,永远反对SUN),可见在SUN的心目中,OSF是SUN的头号敌人。

OSF的一个成果,是Motif风格的 Unix GUI。而Motif的设计理念,是尽力模仿Windows 3.11。Motif在Unix用户群中赢得了广泛认同。眼见局势向不利于自己的方向发展,SUN立刻转变立场,主动寻求与OSF合作。在Motif基础上,糅合进一些OPEN LOOK的元素,成为CDE(Common Desktop Environment)。至此,Unix世界的GUI,基本统一在CDE风格之下。

点看全图

外链图片需谨慎,可能会被源头改

Figure 1. Comparison between X Window 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在开源问题上,已经没有区别,但是两套系统各自拥有自己的追随者,它们的竞争还在继续。

点看全图

外链图片需谨慎,可能会被源头改

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 Window。X Window十分庞杂,但是概括起来,最基本是两个模块,

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

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

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

点看全图

外链图片需谨慎,可能会被源头改

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的主页。

点看全图

外链图片需谨慎,可能会被源头改

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 Window的基本框架,但是把Windowing System的旧称,更名为Window Server。

问题是,

1. Palm WebOS号称它的GUI,是基于WebKit之上。这样的做法,好处在哪里,有没有缺点?

2. 沿袭X Window的原理,能不能满足当代手机UI的需要?譬如,是否利用视频技术,如Adobe Flash,使GUI更动感?

3. 有没有必要让Window Server支持远程遥控的功能,即,PC用户通过互联网远程控制手机脸谱的总体设置,甚至控制某一个window的行为?

关键词(Tags): #硅谷评论
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河