主题:【原创】新时代新潮流WebOS 【1】 -- 邓侃
Brew C++对JavaME,这段故事是否可以展开说说?
老实说,我也很怀疑JS能走多远。
譬如,Google docs,ppt,slides,已经觉得JS快不堪重负了。
如果再来个Google visio,实在觉得承受不住。
如果什么东西比如jQuery能成为Jscript的主流框架没准就有好事之人把它变成X86,ARM或者其他CPU的NATIVE code。
走的人多了,就变成了路。走的人更多了,就会有高速公路。
现在听起来真讽刺
Screw it! this promise never delivered anyway.
的通病 --- “Screw it! this promise never delivered anyway.”
在松散联合的FLOSS世界里,这个问题被发挥到了极致。一个好东西如果被N家公司做,于是就有N*M个GEEKS再建造一个巴比伦塔。
【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的行为?
万恶的大公司经常发NIH - Not Invented Here Syndrome
但嬉皮的 FLOSS 同志们则无时不刻的在发 RTW - Reinvent The Wheel Syndrome.
照老邓这个写法,IT圈里头那点破事儿早晚都划拉到webos文章里头拉倒,瞧瞧这个阵势,这一篇*nix都没跑掉,AK再不多说说,过两天,苹果也被人家收了,他就彻底禁言了,哈哈
只要老邓接收,我就回复潜水+灌水状态,适时适量的贡献点 Fanboism 就很快乐啦
当年学计算机的时候, 国内条件真是落后, 用惯了满眼绿色的单色显示器和低分辨的CGA彩屏, 头一次看见SUN的工作站真是惊艳啊! 可solaris下编程实在是痛苦, 文档, 开发工具都要钱,国内一概没有, 只有靠随机的几个example和自己摸索. 本来系里想在上面搞些辅助教学, 折腾了一阵都放弃了, 这些机器基本上全成了摆设.系统平台好只是基础, 好的开发工具是关键, 能吸引到开发人员写应用,才是真正成功. 这点上不得不佩服iphone, 俺知道的palm上的几个软件作者一直不鸟winCE, 可iphone出来没多久就开始搞iphone版了. 不知道pre能不能吸引这些人回归.
前面几个牛人论述说,apple的开发,胜在idea和模式,俺觉得也是。
pre的就好玩了,想想看吧,html,css,js的开发技术,科班的野派的,在职的山寨的,能摆弄两下的人有多少,这个基数想想都瘆得慌。
要是palm再整合一个IDE,弄个可视化之类跟VB差不多的环境。。。。。。
不过,好像html,css,js的开发环境可视化,一直做的都不好,几大浏览器的实现都有差异,没法作很好的IDE出来,dreamweaver入门的,稍微进阶一点,都奔文本编辑器去了,一来现在的IDE划拉出来的UI,几大浏览器结果都不一样,可视化意义不大了,二来,这几个技术确实也简单,尤其是前台的工种,对着demo看着写着,也就是个翻译的活儿。
pre出来之后,因为手持设备的特性,也许不用考虑乱七八糟这么多东西,瞄准自家的设备就行了,也许弄个可视化开发环境就有可能了。这样想想,这帮玩儿文本编辑器,连代码自动完成功能都好久没见过的家伙,突然看到蹦出来这么爽的IDE,肯定激动的不行,palm再山寨一下apple关于开发者社群建设的商业模式。。。
天那
现在的问题就在于————html,css,js到底能做到什么地步,记得好象看到过一个页面的RPG游戏,画面赶上《风云》了,有这个水准,还担心什么?
也有担心,pre对于js的执行效率到底多高?硬件能不能撑得住?
palm这回真行,保密工作太到家了。
palm挖来的那个玩儿操作系统的大拿叫啥来着?对了,Way Ting。
那咱们就waiting吧
我一直是果粉,也一直烦果。
怎么这么矛盾?爱之深,恨之切。
爱容易理解,很少有人不喜欢Apple的东东,很少有搞IT的,对Steve Jobs和Macintosh的掌故不熟悉,很少有人不崇拜Steve Jobs。
为什么恨?1. 封闭,和Apple合作不容易,2. 傲慢,对客户的需求置之不理,3. Objective C,只有Apple一家在用这东东吧。
打击面太广了哟,在很大程度上讲,苹果那点破事儿,往往就是整个IT界的破事儿。
过去是这样,大家不会有争议吧?
我看现在也还是这样。
但是,如果Steve Jobs走了以后,就难说了。
老婆的小白都不借给我玩,就是破事儿
。。。。。。
就是!