原网址:

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. Redis之(四)事务

    5.1开始事务 MULTI 命令的执行标记着事务的开始: 当客户端处于非事务状态下时, 所有发送给服务器端的命令都会立即被服务器执行. Redis 的事务不可嵌套, 当客户端已经处于事务状态, 而客户 ...

  2. Python实现Mysql数据库连接池

    python连接Mysql数据库: python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,相当浪费资源,而且访 ...

  3. 【Java二十周年】Delphi转行java的一些小感触

    本文纯属一届小码农对java使用过程的体验感触 目录: 初遇java编程语言 与java的擦肩 深入java 跨平台性 开源支持 web的支撑 初遇java编程语言 刚上大学的时候,完全是个电脑盲.刚 ...

  4. 信用卡3D验证相关资料

    3D 验证服务,是银行与VISA .MASTERCARD国际组织联合推出的为保障银行维萨及万事达信用卡持卡客户网上交易安全,防范网上伪冒交易的一项信用卡网上支付安全验证服务( 维萨卡使用的验证服务叫& ...

  5. Unity3D核心技术详解

    在这里将多年游戏研发经验的积累写成一本书奉献给读者,目前已经开始预售,网址: http://www.broadview.com.cn/article/70 该书主要是将游戏中经常使用的技术给大家做了一 ...

  6. 【安卓开发】Facebook工程师是如何改进他们Android客户端的

    原文出处: Facebook   译文出处:penkzhou   欢迎分享原创到伯乐头条 作为世界上最大的社交网络,Facebook的Android客户端面临着各种各样的使用环境(地理环境.Andro ...

  7. Android简易实战教程--第十八话《ListView显示,简单的适配器SimpleAdapter》

    本篇介绍Listview的显示,对于listview有许多的适配器,如ArrayAdapter,BaseAdapter,SimpleAdapter等等.本篇先热身一下,介绍最简单的SimpleAdap ...

  8. Retrofit 2.0 超能实践(三),轻松实现文件/多图片上传/Json字符串

    文:http://blog.csdn.net/sk719887916/article/details/51755427 Tamic 简书&csdn同步 通过前两篇姿势的入门 Retrofit ...

  9. 关于AndroidSDK配置时的tools目录下找不到adb.exe的错误

    欢迎关注公众号,每天推送Android技术文章,二维码如下:(可扫描) 在配置android SDK的时候,有时会发现在android-sdk-windows\tools目录下并没有adb.exe,这 ...

  10. 详解EBS接口开发之采购接收&退货处理之关键API--(补充)

    PROCEDURE process_rcv_online(p_api_version IN NUMBER, p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_ ...