西西河

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

共:💬594 🌺1902
分页树展主题 · 全看首页 上页
/ 40
下页 末页
      • 家园 乱弹浏览器1234

        1.严格地讲浏览器与用户的交互,主要通过DOM模型控制,JavaScript程序只能处理比较“高级”,浏览器预置控制过滤完毕的“事件”。

        2.浏览器的控制事件,比传统的WINDOWS的控制事件更加丰富,接口也更加多样化,但处理的效率不如WINDOWS高。

        3.WEBOS思路的开发将导致手机应用开发平台的高级抽象 --- 传统的手机平台仿真器有可能变为“浏览器”+“服务”,真正的跨平台开发。当然,应该是同一RENDER引擎的浏览器。

        4.如果手机上网能够快速普及,将IE的市场占有率打回50%是指日可待。

        • 家园 Gecko和Trident

          太守能不能抽空给大家讲讲Trident和Gecko?

          对这个话题非常感兴趣,但是苦于知之不多。

          另,那里能找到WebKit的architecture设计的介绍?WebKit的源代码倒是有,但是文字材料太少了。

          • 家园 还是从DOM开始。

            泛泛地讨论GECKO,WEBKIT,还有TRIDENT是个大坑,挖开来再填上的难度很大。TRIDENT的架构文档没有,开发文档只有看MSDN,很多关键问题全是语焉不详。GECKO与WEBKIT的文档比TRIDENT的文档更差,看来OPEN SOURCE都是不推荐大家读文档 --- 推荐大家读源码。

            源码好读吗?不好读,读源码是个苦差事,因此这里俺这里给放上两个关于读GECKO,WEBKIT源码的小tips:

            1.注意源程序的动态结构与关系。主要是程序分几个大的模块,运行时的线程模型,线程间的同步关系。

            2.如果浏览器的核心是Render Engine,Render Engine的核心就是“DOM”。Render Engine的主要任务就是围绕着DOM的生成,表现,维护与撤销。从下面的图可以看出DOM的重要性。

            点看全图

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

            虽然这个图这是Render过程的大致流程图,但是DOM模型并没有在这个过程结束时被销毁,而是一直在当前网页的“生命期”生存。可以这样说,任何于网页的交互操作都伴随着DOM树的“部分遍历”。 如果能掌握住Render Engine中关于DOM的代码就等于抓住了Render Engine的纲。

            又:对于AJAX开发,DOM知识仍然是最最重要的基本知识。

            • 家园 送花,等着,这是个坑中坑

              和老邓讨论分辨率的问题,逼的我这两天都在晕晕乎乎看webkit的代码,看浏览器核心代码真不是个好活儿,webkit一直以代码写的漂亮出名,据说gecko的代码比webkit还难读,即然碰到太守此类达人,俺就老老实实静候美文了

              • 家园 坐等不是办法

                没有文档未必是坏事,谁先搞明白了,谁先写出来了,谁就领先。

                Rendering engine很有意思,太守写了一个引言,展开来谈,可以变成一个系列,造福广大人民。

                JavaScript VM也很有意思,Apple的SquirrelFish号称最快,为什么?谁能给说说。

                如果把JavaScript VM扩展一下,成为Adobe Flash Player,那就更有意思了。不仅满足好奇心,而且钱途光明。

                我的小小建议是你和太守联袂写,我也敲边鼓,合唱比独唱热闹。

      • 家园 除了方便开发,html+css+js还

        有一个额外的好处,就是对于不同分辨率的良好支持能力,这样,就很容易把现在桌面端流行的web应用移植到webOS上面,对于一个平台来说,应用丰富,不一定能成功,应用不丰富,一定不能成功,webOS应该也在打这个主意,一上线,就拥有很多流行的web应用,而且提供和桌面相差无几的体验,也算是个卖点。

        • 家园 浏览器和分辨率的问题

          我也注意到Webkit对于不同手机的分辨率识别较好。

          但是没有搞明白原理是什么。为什么直接用OpenGL反而不如用WebKit好,所以没敢冒然写。

          你能不能就这个问题,给大家解释一下?

    • 家园 【原创】【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): #硅谷评论
      • 家园 说老实话,第一眼看到WebOS截图

        下面那一排五个快捷按钮给偶的第一反应是——MTK解决方案。

        另:Palm和Apple都有一个比较让人讨厌的地方——大美国主义。Palm OS干脆就没考虑过双字节字符显示的问题。合着连日本同学和棒子同学一块儿BS了。

      • 家园 说一下是WindowS 3.11不是Window3.11

        过了几年,1992年,微软推出Window 3.11,

        而Motif的设计理念,是尽力模仿Window 3.11。

        看对 Windows 熟悉不熟悉,很重要的一个指标就是 Windows 会不会被写成 window 。

      • 家园 说一下是 X window 不是 windowS

        看对 X 熟悉不熟悉,很重要的一个指标就是 X window 会不会被写成 X windows

      • 家园 看了这篇*nix 真是亲切啊

        当年学计算机的时候, 国内条件真是落后, 用惯了满眼绿色的单色显示器和低分辨的CGA彩屏, 头一次看见SUN的工作站真是惊艳啊! 可solaris下编程实在是痛苦, 文档, 开发工具都要钱,国内一概没有, 只有靠随机的几个example和自己摸索. 本来系里想在上面搞些辅助教学, 折腾了一阵都放弃了, 这些机器基本上全成了摆设.系统平台好只是基础, 好的开发工具是关键, 能吸引到开发人员写应用,才是真正成功. 这点上不得不佩服iphone, 俺知道的palm上的几个软件作者一直不鸟winCE, 可iphone出来没多久就开始搞iphone版了. 不知道pre能不能吸引这些人回归.

分页树展主题 · 全看首页 上页
/ 40
下页 末页


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

Copyright © cchere 西西河