原网址:

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. Device Mapper 代码分析

    Device Mapper(DM)是Linux 2.6全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备. DM以块设备的形式注册到Linux内核中,凡是挂载(或者说&quo ...

  2. 大话XML解析

    之前我写过一篇关于xml解析的文章:http://blog.csdn.net/sdksdk0/article/details/50749326.今天这篇文章主要是进一步加深对xml基础的理解了使用,毕 ...

  3. EBS技术开发之返利开发

    返利是指公司间应收款项按一定比率的返还给客户.返利开发实质就是实现对应收发票的更改和新增(暂时我的理解) 一.对发票行更改 PACKAGE AP_INVOICE_LINES_ALL_PRIVATE I ...

  4. EJB_开发消息驱动bean

    开发消息驱动bean Java消息服务(Java MessageService) Java 消息服务(Java Message Service,简称 JMS)是用于访问企业消息系统的开发商中立的API ...

  5. Microsoft Dynamics CRM 2011 当您在 大型数据集上执行 RetrieveMultiple 查询很慢的解决方法

    症状 当您在 Microsoft Dynamics CRM 2011 年大型数据集上执行 RetrieveMultiple 查询时,您会比较慢. 原因 发生此问题是因为大型数据集缓存 Retrieve ...

  6. 深入浅出seesion和cookie

    session在计算机中,尤其是在网络应用中,称为"会话控制".session 对象存储特定用户会话所需的属性及配置信息.session跟踪是Web程序中常用的技术,用来跟踪用户的 ...

  7. JDBC的java驱动安装

    首先登陆mysql.com官方网站,download-->选中下面的community–>mysql connentor-->然后选中下面与平台无关的zip包,一般是第二个,完成下载 ...

  8. JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫

    JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接 ...

  9. API创建员工

    DECLARE lc_employee_number PER_ALL_PEOPLE_F.EMPLOYEE_NUMBER%TYPE := 'PRAJ_01'; ln_person_id PER_ALL_ ...

  10. ORA-28001: the password has expired 详解 不用重启项目

    大早上正式库提示: Oracle提示错误消息ORA-28001: the password has expired 解决办法: 1.利用SYSDBA权限登陆: 2.查看账户信息:select user ...