原网址:

http://www.infoq.com/cn/interviews/status-and-trends-of-webkit-and-html5

个人一些不成熟的见解,望讨论和指正。

节选

刚才朱老师讲了一下关于WebKit的一些事情,我正好涉及到做这方面的一些东西,就希望跟你探讨一下这方面的问题。因为我之前,我自己做豆瓣音乐人的应用,当时我们技术选型上,就是希望就是尽快的去完成这个事情,就跨平台去做,然后我就说选用WebKit的这种方式去做,它其实是一个混合的架构,然后用了PhoneGap这个框架去做。当时我的感觉就是做起来非常快,也很爽,就是做一个所有的的平台上就可以跑了。但是会遇到一些问题,比如在Android上会有一些性能的问题,我开始用了很多css 3效果,后来几乎把这些效果全部都去掉了。 比如像透明、半透明,这个我后来就全去掉了,你对做这些优化有什么建议吗?

朱永盛:对,首先这个问题提的很好,我觉得这个问题基本上涵盖了现在想使用Html5,或者想使用Web来做开发你的Application的共同的问题。就首先PhoneGap这个东西现在比较流行。我先说它好的一方面,它流行的地方就说,我刚刚说了,它跨平台很好,像现在iOS、Android,像Symbian,包括像BlackBerry上面都有这方面支持,然后本身HTML5做得也是跨平台,然而PhoneGap正迎合了这些Web开发者的这些需求,所以就说,那双方正好接起来。所以这个方面PhoneGap现在影响比较大;另外一方面,PhoneGap 他本身的核心功能在于他提供了那些打包和分发的机制。你可以通过他的方式,可以帮你分发,可以帮你打包 。因为我们知道,如果让你的HTML5程序,或者你的Web程序也运行起来,你下面要有个支撑平台,那么这个平台可能就说基于WebKit,或者基于其他的渲染引擎的平台。那么PhoneGap本身,他不提供这样的平台。他利用的是每个OS上面已经带的这个平台。举个例子来说,在Android上面他就是用Android的渲染的平台, 通常叫做WebView。那么在iOS上面,可能就要是另外一个,就苹果提供的叫英文这样一个平台,所以它本身就是Runtime没有提。所以这就是为什么你刚刚说在某些平台上性能好,某些平台上性能不好。就是因为在于它对后端支撑的平台它是不一样的,就我说的Web渲染的这个平台是不一样的,所以会导致这些问题。还有另外一个问题,你刚才说的Android上面性能不好的问题,这个问题我刚刚可能也部分的解释,就是因为他用了渲染引擎。我们知道Android上面是有一个叫做Android Browser,他其实上跟那个是Share同样的一个技术的架构。这个架构里面有很多缺陷,这就是为什么Google最近需要把Chrome这个浏览器推到Android上,因为Android的平台里面有很多硬件加速的东西没有做。在我们刚刚的session当中我也介绍了,硬件加速其实分为很多块,它实际上就是说Android的英文只做了其中的一方面 。但是Chrome现在说这个平台它已经投入到Android的阵营来,所以说他现在的硬件加速是做得非常多的;另一个方面,我刚刚说的PhoneGap所依赖的那个 Web渲染的平台, 那现在可能未来的方向就是把他们切换到基于Chrome的渲染机制上,我相信,当这个切换完成。因为我们最近也在参与这方面的一些事情,所以我相信这个东西切换到基于Chrome这套渲染效果上来说,我相信里面的渲染的效果会得到进一步提升。本身我是非常看好这个方向,因为PhoneGap这种用户成型,我觉得是可以说是使用HTML5开发应用程序起了非常好的头,开了非常好的头,所以未来风向,我觉得PhoneGap这种框架会非常的发扬光大,应该会有更多的厂商会参与进来,做这样的事情。因为从各个方面的需求来看,大家也都很关心这些方面的一些事情,所以我很看好它。

谢谢,我也希望以后能用Chrome的内核,就没有这些问题了。其实现在造成问题的也是Android比较早期的版本。想跟你谈谈另外一个问题,刚才说的是移动平台上的跨平台,就是桌面上我觉得WebKit也有这方面的能力,可以拿来使用。我们之前有做豆瓣FM的桌面客户端,我们也是希望说能够快速的开发,然后移植到多个平台上使用,所以我们当时同事冯强宁开发了一个叫做OneRing的一个框架,就是他其实是一个框架可以把WebKit包了一个类似浏览器的东西在里面。我们就可以用Python来写了一个Server,前面就用Html5、JS写了一个应用。我们也遇到一些问题,就是比如说包就会特别大,QtWebKit 那个是比较大的。如果不用它的话,我们又会面临很多跨平台的问题,就要求我们自己再去做。而且WebKit自己还有些Bug,很多Feature用不到,他没有支持所以不能用,对这个方向的开发你有什么建议?

朱永盛:是这样的,这块现在刚说,你想说,我们因为PhoneGap 有点感觉是在这个之上,PhoneGap之下我们需要一个统一的Web平台可以支撑PhoneGap,我们想统一后面的一个Web平台。其实这个东西现在我觉得应该是一个很热门的方向,包括其实我个人觉得,像Google、英特尔,我知道很多公司都想参与进来,共同推进这个事情的发展。这个东西现在一个问题,的确像你说的,比如像Webkit,他可能有自己的一些问题。那我觉得这个问题很好, 为什么呢?因为这也是我们未来努力的一个方向,像作为我来说,我参与这个HTML5的Web开发,也有蛮长一段时间了。我个人感觉像性能,包括一些Native的开发所使用的一些能力,现在HTML5里面还没有办法能够提供这些功能。所以你现在你的下面所使用的Web平台,比如类似于像QT WebKit,就要提供这样的能力。但是各种各样的有些这个平台提供的Performance,或者性能方面的一些问题是有缺陷的。缺陷在于渲染的这些架构,包括它的一些使用图形方面这些或者说还有很多工作需要去完善。所以我们其实也在积极的参与,想说提供一套这样的一个Solution。比如说我们想说,用WebKit打造一个这样的平台,这样的平台可能比如说,可以把目前最新的这些比如说硬件加速的机制、多核的一些能力都给使用起来,然后共同打造一个可以支撑HTML5应用程序的这么一个平台。然后跨平台,能做到这样的话,我相信以后应该是这个方向努力的重点。因为目前我个人觉得,像我们其实参与Chromium的,他也想做一个WebView的这样东西。那这样的东西其实就使用这样的东西,这样的一个东西在Android上我们也想提供,在Windows上我们也想提供,在Mac上,在Linux上,可能其他平台上我们都想提供这样的东西,我想这样的东西可能就是符合你们这样的需求。但是的确说的很对,现在这就是一个问题,现在因为没有一个很好的Solution可以解决这个问题,我觉得这是一个机会。我希望更多的公司可以参与进来,比如说像我们这边做得这块,我们也想参与进来。

InfoQ访谈:Webkit和HTML5的现状和趋势的更多相关文章

  1. Qt WebKit and HTML5 geolocation | Qt Project forums | Qt Project

    Qt WebKit and HTML5 geolocation | Qt Project forums | Qt Project Qt WebKit and HTML5 geolocation   I ...

  2. HTML5行业现状与未来 - 2016年终大盘点

    * { margin: 0; padding: 0 } .con { width: 802px; margin: 0 auto; text-align: center; position: inher ...

  3. 可能是国内第一篇全面解读 Java 现状及趋势的文章

    作者 | 张晓楠 Dragonwell JDK 最新版本 8.1.1-GA 发布,包括全新特性和更新! 导读:InfoQ 发布<2019 中国 Java 发展趋势报告>,反映 Java 在 ...

  4. NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎

    NoSQL最早起源于1998年,但从2009年开始,NoSQL真正开始逐渐兴起和发展.回望历史应该说NoSQL数据库的兴起,完全是十年来伴随互联网技术,大数据数据的兴起和发展,NoSQL在面临大数据场 ...

  5. OpenResty的现状、趋势、使用及学习方法

    Nginx 是俄罗斯人发明的, Lua 是巴西几个教授发明的,中国人章亦春把 LuaJIT VM 嵌入到 Nginx 中,实现了 OpenResty 这个高性能服务端解决方案. 通过 OpenRest ...

  6. 现状、趋势如何?——《2019 年度 SaaS 行业【企业愿景】展望 · 总结篇》

    SaaS 行业产业地图和行业规模 看完SaaS的概念介绍,聪明的小伙伴们应该都理解了SaaS到底是个什么东西,但TOB的应用一般会离生活比较远,这里直接上产业地图,让大家对常见的SaaS产品有一个直观 ...

  7. 关于Html5发展和应用前景

    现在的HTML5就像当年崭露头角时的Ajax,有人在做,但不知道叫它什么.最近,苹果在 HTML5上大做文章,而著名的Web设计师Eric Meyer则提出了Web Stacks的概念.Alex Ke ...

  8. html5的发展历程和由此引起的政治斗争

    2007年,乔布斯断言拒绝Flash并预言HTML5时代来临,IT行业就对HTML5产生了一股宗教热情.HTML5有着许多出众的特性,可以直接在网页上绘图.嵌入音视频.实现信息互动,可以跨越iOS.A ...

  9. 深入理解HTML5:语义、标准与样式(勇猛精进早登大师殿堂创最优品质交互)

    深入理解HTML5:语义.标准与样式(勇猛精进早登大师殿堂创最优品质交互) [美]布拉德福(Bradford,A.) [美]海涅(Haine,P.)著 高京译 ISBN 978-7-121-20552 ...

随机推荐

  1. 0428-css样式

    一.CSS样式表      引入的三种方式1.内联样式:标签内部     style2.内嵌样式:<head></head>标签内部(<style></sty ...

  2. Bootstrap3 排版-内联文本元素

    标记文本 突出显示的文本由于其相关性在另一个上下文中,使用<mark>标记. You can use the mark tag to highlight text. You can use ...

  3. App安全(一) Android防止升级过程被劫持和换包

    文/ Tamic 地址/ http://blog.csdn.net/sk719887916/article/details/52233112 前言 APP 安全一直是开发者头痛的事情,越来越多的安全漏 ...

  4. 硬件模块化机器人操作系统 Hardware Robot Operating System (H-ROS)

    原文网址:http://www.ros.org/news/2016/10/hardware-robot-operating-system-h-ros.html 推荐网址:https://h-ros.c ...

  5. 记住经典的斐波拉契递归和阶乘递归转换为while规律

    记住经典的斐波拉契递归和阶乘递归转换为while规律.它为实现更复杂转换提供了启发性思路. # 斐波拉契--树形递归 def fab(n): if n<3: return n return fa ...

  6. 自定义一个View作为弹出对话框

    public void dialog(){ //获得布局对象 View view = LayoutInflater.from(getActivity()).inflate(R.layout.dialo ...

  7. C#删除WebBrowser控件的Session

    因最近做一个成绩查询导出的程序,用到webbrowser控件,该查询的网站限制一个会话只能查询3次成绩,而我要查询4000多人的成绩. using System.Runtime.InteropServ ...

  8. EBS各个应用简称

     模块全称 Banking Center 模块简称 FPT 服务器目录 FPT_TOP Billing Connect CUE CUE_TOP CADView-3D DDD DDD_TOP CPG ...

  9. (NO.00005)iOS实现炸弹人游戏(三):从主场景类谈起

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我又粗粗看了下整个项目的代码,比较多: 不少类都与其他类有着千丝 ...

  10. Java-IO之字符输入输出流(Reader和Writer)

    以字符为单位的输入流的公共父类是Reader: 以字符为单位的输出流的超类是Writer: 基于JDK8的Reader的源码: public abstract class Reader impleme ...