五千年(敝帚自珍)

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

共:💬594 🌺1902
分页树展主题 · 全看首页 上页
/ 40
下页 末页
    • 家园 【原创】【8】手机OS,上三路与下三路

      【8】手机OS,上三路与下三路

      图一显示的是Palm WebOS架构。看到这张图,不禁会想,这就是被炒作得玄乎其玄的,摆脱了PC OS阴影的手机OS,划时代的Palm WebOS?它的巧妙到底在哪里?此图作者,Palm公司软件CTO Mitch Allen,没有详细介绍WebOS系统架构的设计思想,也没有详细解释系统中各个模块的具体用途。

      点看全图

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

      Figure 1. Palm WebOS Architecture

      Courtesy http://developer.palm.com/assets/images/book/palm_0112.png

      为什么Roger McNamee以及Palm公司的高管,都把WebOS看成是the next big thing?Roger McNamee把iPhone,BlackBerry,WinMobile,以及Android通通看成是PC OS的延续,那么WebOS与Android等等的区别在哪里?

      点看全图

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

      Figure 2. Comparison of Android,J2ME, Symbian and WebOS architectures

      Courtesy http://farm4.static.flickr.com/3413/3343581121_5e764cd3ef_o.gif

      为了直观地横向比较Android,J2ME,Symbian和WebOS的系统架构,我画了一幅OS结构层次图,如图二所示。此图粗略地显示了各个手机OS的结构层次,不是非常严谨。之所以采用这样粗放式的描述方式,是为了方便大家首先捕捉各个手机OS之间比较明显的结构上的差别。

      1. Android:

      前文谈过,Android对于手机OS的贡献,主要体现在三个方面,1. 梳理Linux Kernel,2. 梳理Linux Middleware,3. 构建Dalvik虚拟机。大家对Dalvik VM谈论得比较多,因为它的意义很明显,方便应用开发者使用Java语言编程。但是对于梳理Linux Kernel和Middleware这两个成果,论者较少。

      后续章节中,我们会谈到山寨MTK手机的内核Nucleus,以 VxWorks实时OS称雄的,嵌入式OS业界老大Wind River公司梳理的Linux,还有Nokia的Maemo版Linux。如果Android版Linux被广泛接受,那么将来的手机OS在底层方面的 竞争,就不再是春秋战国那样群雄割据的状态,而是两个超级大国争霸的两极世界, Android Linux 对阵 WinMobile。

      我把Android OS概括为下三路功夫,因为它更强调下盘的扎实。相比之下,Palm WebOS更重视上三路拳法。

      2. J2ME:

      J2ME的架构大家都比较熟悉。J2ME未来向什么方向发展?Sun Microsystems似乎把希望寄托在JavaFX Mobile上。

      iPhone 手机让人惊艳,Google网页让人觉得清爽。想把产品设计的像iPhone手机和Google网页那样,酷,炫,性感,动感,靠什么?图形界面。手机图 形界面或者说手机脸谱(Widget Toolkit),现在分为两大阵营,一个阵营是Ajax,也就是JavaScript加XML,WebOS似乎比较倾向于Ajax阵营,后文详述。另一个阵营立足于视频技术,Adobe Flex,Microsoft Silverlight,还有Sun Microsystems的JavaFX Mobile,呈三国鼎立的局面,其中曹魏是Adobe Flex。

      与Ajax比较,视频技术表现手段更丰富,更容易营造酷,炫,性感和 动感的效果。JavaScript很消耗CPU,而视频技术与多媒体芯片的结合较好,软硬搭配,运行效率高。拿Adobe Flex之类做某一个应用的工作流程问题不大,但是能不能用它们做整个手机脸谱(Widget Toolkit)?脸谱涵盖的功能很多,视频技术是否能够全面支持这些功能需求,有待研究。

      3. Nokia:

      Nokia目前 似乎兵分两路,一路人马,梳理Linux成为Maemo OS,力图抗衡Android。Maemo OS目前在Nokia的上网本中使用,将来Nokia是否会用Maemo取代Symbian系列,这个转型对于Nokia来说,会很沉重,但是可能未来会不得不考虑。

      Nokia另一路人马加入脸谱战场,他们手里的利器是Qtopia。Qtopia是QT的移动版,后文会做更多介绍。Qtopia能够与Ajax结合起来使用。

      4. WebOS:

      Palm公司对于Kernel的频繁更改,给人一种下盘不稳的感觉。先是Palm OS,后来换成Wind River版Linux,后来又换成Linux 2.6,将来会不会倒向Android?那将是富有戏剧性的一幕。

      WebOS 的主要成绩,在我看来主要是三个方面,1. Service container,目的是方便应用程序的安装和版本管理,以及多种应用程序之间的协调。2. WebKit-based Widget Toolkit,基于WebKit的手机脸谱。3. Palm Bus,提供脸谱与应用程序之间,应用程序与应用程序之间的数据交换渠道。

      这篇文章涉及的内容较多,如果全部展开,篇幅太长,所以不妨把这一章当成一个目录,以后陆续展开。Palm WebOS的架构图,包含的信息量很大,后文我们也将不断回顾。

      关键词(Tags): #硅谷评论
      • 家园 CHROM与safari拼命优化JSCRIPT引的动机?

        现在分为两大阵营,一个阵营是Ajax,也就是JavaScript加XML,WebOS似乎比较倾向于Ajax阵营,后文详述。另一个阵营立足于视频技术,Adobe Flex,Microsoft Silverlight,还有Sun Microsystems的JavaFX Mobile,呈三国鼎立的局面,其中曹魏是Adobe Flex。

        AJAX的老东家是微软,发扬光大是GOOGLE。然后微软就失去了AJAX的“道德制高点”,于是Silverlight推出,SO WHAT?再好的技术没有人用也是死鱼一条。

        看出来CHROM的V8与Safari的Nitro动机了吧?JavaScript的低效与高能耗是AJAX中的短板!

      • 家园 WebOS的linux内核可能是从motorola来的

        PalmOS上的应用都是原生的,后来和motorola签协议。motorola那时已经开发基于linux的手机操作系统很久了。那个时候手机游戏开始兴起,感兴趣的人很多,但开发基本还是半封闭的。google的Andriod只有模糊的概念,微软的windows mobile也不成熟,PalmOS走下坡路,也就Symbian开始推广自己的Brew,那个时候争论的焦点还不是哪个架构好,基本上就是原生开发和可移植开发之争,说穿了就是Brew C++对JavaME,这两个阵营向来就是渭泾分明,分不出个胜负。随着motorola的开发没有踪影,业界把焦点逐渐转到Smartphone,尤其是Symbian对抗Windows Mobile。

        iPhone的进入可以说是个转折点,本身苹果的工业设计特别强,加上有iTouch的铺垫,吆喝赚够了,也就没几个会关心objectC究竟如何的好。

    • 家园 【原创】【7】手机脸谱

      【7】手机脸谱

      有人问,“全世界心理学研究最牛的地方在哪里?”,

      不等对方回答,就自己笑着说,“好莱坞”。

      此话不假,对于人性的弱点,好莱坞的确是做了很多研究。其中希区柯克(Alfred Hitchcock)的贡献是发现了人类对于悬念的着迷。

      譬如说球赛,在比赛终场以前,观众兴致勃勃,但是一旦结果揭晓,很多人就兴趣索然。为了增加电影的吸引力,Hitchcock在镜头中,刻意注入一些引人猜疑的细节,然后根据观众可能会有的猜测,安排后续情节。有时增强某些猜测,有时打消某些猜测,甚至故意设计陷阱,误导观众向错误的结论猜想,就这样一环套一环,勾引着观众在他设计的迷宫里转圈,直到电影结束,一切真相大白。

      虽然Hitchcock这套把戏早已被戳穿,但是Hitchcock之所以伟大,在于他的发明屡试不爽。老把戏换着花样重复上演,仍然每每叫座。

      点看全图

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

      Figure 1. Alfred Hitchcock

      Courtesy http://www.televisionheaven.co.uk/hitchcock.jpg

      技术向哪里发展,也是一种悬念。看了关于Palm Pre和WebOS的众多的,然而肤浅的新闻报导,观众心中的疑惑越发浓厚,究竟什么是手机OS,它与PC的OS有什么不同?是什么赋予了手机能主动替主人着想的魔法?这个悬念刺激着大家的欲望,去进一步探求WebOS奥秘。

      但是到目前为止,网上能找到的深度读解WebOS的文章非常少。 2009年2月27日,S兄在他的一个一句话的帖子里,以极其隐讳的方式,暗藏了一个链接。不料,不到两个小时后,S兄的机关被A兄识破。S兄的链接指向一本尚没有出版的新书,书名叫“Palm webOS: Developing Applications in JavaScript Using the Palm Mojo Framework”,作者是Palm公司的副总裁兼软件工程CTO,Mitch Allen。可以说,这将是有关WebOS的最权威的一本书。新书正式出版要等到2009年8月,S兄提供的链接是该书的第一章。

      第一章总共20页,其中一半篇幅在谈WebOS的UI。难道手机OS,关键在于UI?

      当年Steve Jobs,从施乐PARC研究中心得到了GUI的灵感,从此PC的UI控件(UI Widgets)设计逐步走向规范。很显然,Palm公司的设计人员认为,这一套为PC设计的UI Widgets,不符合手机的屏幕特征以及用户习惯。

      点看全图

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

      Figure 2. Macintosh GUI

      Courtesy http://img.zdnet.com/techDirectory/_MACANNO.GIF

      那么什么样的设计符合手机的屏幕特征和用户习惯呢?Palm WebOS的设计人员认为,手机UI Widgets应当包括以下几个元素。

      点看全图

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

      Figure 3. WebOS UI design: Quick Launch Bar and Launcher

      Courtesy http://developer.palm.com/assets/images/book/palm_0102.png

      图3显示的是应用程序的启动控件。启动控件应该包括两部分,一个是包含各个应用程序启动键的多幅页面,另一个是主屏幕下方的常用热键。这个设计与iPhone的主屏幕设计及其相似。

      点看全图

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

      Figure 4. WebOS UI design: Card View for Workflow

      Courtesy http://developer.palm.com/assets/images/book/palm_0104.png

      启动应用程序以后,如果应用逻辑复杂,可以设置有先后顺序的多个卡片,组成完整的工作流程。

      点看全图

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

      Figure 5. WebOS UI design: Banner Notification

      Courtesy http://developer.palm.com/assets/images/book/palm_0106.png

      在使用某个应用的同时,在屏幕下方可以用走马方式显示某些时效性很强的提示。例如上图中“Brian Venetian:Hey did you talk to ...”,如果这段文字超出了屏幕的宽度,那么整个字幕从右往左缓慢移动,这个方式称为走马。

      点看全图

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

      Figure 6. WebOS UI design: Dashboard popped from Banner Notification

      Courtesy http://developer.palm.com/assets/images/book/palm_0108.png

      仪表盘显示的是所有正在运行的应用程序。通常情况下,仪表盘是隐藏的,用户可以通过点击走马提示或者有关热键打开仪表盘。

      的确,WebOS在手机UI方面的设计,强调了手机屏幕的特点,以及用户的行为习惯。但是可以十分肯定地断言,Roger McNamee不会因为手机UI的设计,就给Palm公司4.25亿美元的巨额投资。

      原因很简单,三十年前,在1979年,GUI对于PC的OS来说,是革命性的突破。革命性不仅体现在设计理念史无前例,而且在技术实现手段上,也有划时代的突破。三十年过去了,2009年WebOS对于手机UI的新设计,虽然可以称得上新颖,但是谈不上革命。另外,手机UI的技术实现手段也已经很成熟,不存在什么划时代的挑战与突破。

      既然手机UI不是手机OS的关键,那么有别于PC OS的手机OS的关键在哪里呢?新书第一章没有详细解说,但是片言只语,留了一根缩头藏尾的线索,这根线索就是WebOS的架构图。

      关键词(Tags): #硅谷评论
      • 家园 究竟何为WebOS?

        我看了好半天也没明白WebOS的意思,似乎LZ是指移动设备所用的操作系统和开发平台,然而Web OS这个词至少我的理解是网络操作系统,一般搭在浏览器上的,与平台无关。

        查了下Wiki,看来这个词是Palm独用于自己的下一代移动架构,支持高亮触摸屏(几根指头的?),Palm计划在设计这个“嵌入式Linux”操作系统使用现成的网络技术,包括运用XHTML,CSS以及扩展的Javascript(扩展到能直接读取硬件设备,呵呵)来开发应用,好处之一就是避免学习又一种新编程语言(大家对苹果都是有爱有恨的)。面向开发者则计划发布名叫Mojo的SDK,然而Mojo本身和设备特性绑定,移植性是没有的,和老的Palm OS也不兼容。

        这个主意倒也不新鲜,只是人家用Web技术开发平台无关的应用,他这个还是Palm自己的设备,最后还不让人用些通用的开发语言和工具,无法想象用Mojo开发个3D游戏,这得写多少行js啊。

        • 家园 【讨论】乱弹WEBOS 123456

          1.广义的WEBOS,俺看就是UNIX的shell。但这个shell有点高级,高级的比Windows还高。为什么?Windows的“shell”是“窗口”,你要用C/C++,VB,DELPHI,C#之类的工具才可以搞定。虽然从C/C++,VB,JAVA,DELPHI,C#,开发的门槛在降低,但不过是50步笑100步而已。HTML+CSS+JAVASCRIPT则不然,你用个文本编辑器就可以开写,然后把这些文件装入浏览器。对比传统的编辑、编译、链接、运行(当然现在的IDE已经把这些步骤简化了很多),这是不是应用创建的一小步,应用开发的一“大步”?

          2.如果说你一个学期可以学会C/C++,BASIC,JAVA,Object Pascal(DELPHI),C#,你要多少时间学会WIN32/MFC/ATL/STL/VCL/NET/JAVA BEAN(J2me。。。)?这个学习过程比你学语言要长的多!

          3.PC应用程序的安装实际上就是框架程序的部署(现在的绿色软件可是越来越少)。框架程序的不统一(非兼容)是众多BUG,技术支持的成本高昂的原因。这是目前PC应用的一个梦魇,不过也创造了无数的就业机会。如果在手机应用安装依然走PC的老路,俺说那就是一条死路。苹果店难道就是一个渠道吗?IPHONE(含TOUCH IPOD)应用框架的统一为OBJECT C应用程序奠定了坚实的应用部署基础。

          4.因此,MOJO,卡片管理器,“WEB服务”就构成了PALM WEBOS应用的3大基石。至于“WEB服务”都包含了什么就不得而知了。反正现在的PALM WEBOS是“许看不许摸”,大家拭目以待。

          5.浏览器就仅是WEBOS应用的运行平台吗?这里浏览器还担当了应用程序和OS之间的“应用防火墙”。如果一个手机的应用频繁导致手机的“蓝屏”?这种应用不要也罢。

          6.如果更复杂的应用需要超出了目前PALM WEBOS的MOJO,卡片管理器,“WEB服务”能力怎么办?有3个方法:扩展浏览器,扩展MOJO,扩展“WEB服务”。比如某某可以在浏览器里面集成一个(2D/3D)游戏引擎,进一步降低WEBOS上游戏的开发部署难度。


          本帖一共被 1 帖 引用 (帖内工具实现)
          • 家园 真是乱来

            HTML+CSS+JAVASCRIPT则不然,你用个文本编辑器就可以开写,然后把这些文件装入浏览器。对比传统的编辑、编译、链接、运行(当然现在的IDE已经把这些步骤简化了很多),这是不是应用创建的一小步,应用开发的一“大步”?

            用文本编辑器做什么开发?开发个控件还是画个UML图?打算写段小程序?这还要你操心么,都有现成的。

            果说你一个学期可以学会C/C++,BASIC,JAVA,Object Pascal(DELPHI),C#,你要多少时间学会WIN32/MFC/ATL/STL/VCL/NET/JAVA BEAN(J2me。。。)?这个学习过程比你学语言要长的多!

            你打算用多少时间学会jQuery和prototype以及flex?该花的功夫一点都不会少。

            PC应用程序的安装实际上就是框架程序的部署(现在的绿色软件可是越来越少)。框架程序的不统一(非兼容)是众多BUG,技术支持的成本高昂的原因。这是目前PC应用的一个梦魇,不过也创造了无数的就业机会。F如果在手机应用安装依然走PC的老路,俺说那就是一条死路

            这不就是浏览器现在最大的问题么,厂商们各立山头,什么时候我们才能看到完全一致的网页呢?

            比如某某可以在浏览器里面集成一个(2D/3D)游戏引擎,进一步降低WEBOS上游戏的开发部署难度。 http://www.ccthere.com/article/2070229

            扩充不是问题,让人学会是个问题。这个学习曲线是不是越来越陡峭呢?

            • 家园 接着乱弹

              用文本编辑器做什么开发?开发个控件还是画个UML图?打算写段小程序?这还要你操心么,都有现成的。

              画个UML用什么工具?Rose还是Visio?先不说这些工具的成本(当然有免费的),这些工具不也要学?

              苹果店的程序在短短的时间内数目增加到15000,难道这些小程序的作者都是瞎操心?

              你打算用多少时间学会jQuery和prototype以及flex?该花的功夫一点都不会少。

              兴趣是最好的老师,如果一个东西有一个“简单”的开始,自然可以吸引别人进一步的深入。而且从类似jQuery框架的规模看,JAVASCRIPT 框架代码的复杂度与WIN32/MFC/ATL/STL/VCL/NET/JAVA BEAN(J2me。。。)相比是数量级的差异。

              这不就是浏览器现在最大的问题么,厂商们各立山头,什么时候我们才能看到完全一致的网页呢?

              先不说WEBOS是个垂直部署的东西。你眼里看见“浏览器厂商们各立山头”,难道就没有看见这里面的机会?

              扩充不是问题,让人学会是个问题。这个学习曲线是不是越来越陡峭呢?

              只要是有钱途,关心不关心“学习曲线是不是越来越陡峭”就不是那么的重要。


              本帖一共被 1 帖 引用 (帖内工具实现)
              • 家园 del
              • 家园 你怎么老抬杠呢

                1.苹果店的程序到底有点什么,您能仔细谈谈么?

                2. 兴趣是好老师,只是开发是有风险的,这个风险是要用钞票来计算的。js的框架相对简单,所以能开发出的应用也有限,想要复杂的应用也需要复杂的框架,这个是不可避免的。

                你眼里看见“浏览器厂商们各立山头”,难道就没有看见这里面的机会?http://www.ccthere.com/article/2072110

                3. 你没有明白我在说什么

                只要是有钱途,关心不关心“学习曲线是不是越来越陡峭”就不是那么的重要。

                4. 你多半没有和人一起做过具体开发。

                说到底我不是认为WebOS不行,而是采用js作为开发工有不少风险,javascript到现在为止多少年了,如果没有xmlhttp和gmail,还会有多人记得它呢?

                • 家园 .

                  1.术业有专攻,俺对苹果店的程序没什么具体研究,俺对苹果店的程序数目狂涨的现象非常感兴趣。不知道JOBS又动了谁的奶酪?

                  2.应用开发之精髓在于对合适的应用选择合适的平台,合适的工具,合适的发布时间.

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


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

Copyright © cchere 西西河