资料来源:http://www.visionmobile.com/product/how-can-html5-compete-with-native/。报告有很多数据和图表,请具体查看,本文只记录和整理我认为更为有趣的观点。
HTML5如何与原生竞争的问题,更准确而言,应该是HTML5如何缩小与原生之间的差距。
关于性能低的说法
(Wei:Web的性能确实比不上原生的二进制代码,但是这是手机终端,不是服务器,用户通过手指的互动方式,并不是机器对机器的那种快速,稍低的性能差异不会造成用户体验的差异,更何况手机CPU的频率和核数也在不断提高。所以性能不是问题。)实际问题不是性能,而是工具,以及衡量性能和提高性能的能力,更好的性能依赖于浏览器的策略。
性能差异是最常见的抱怨。JS是high level语言,天然会比原生语言的性能要低。选择原生的开发者认为:他们最优先的是质量和用户体验,所以选择原生APIs。至于用户体验,由于这需遵循原生平台的行为准则,这是另一个故事,HTML5的帮助不大,除非是Firefox和Tizen。JS的性能一直受到争议,但是要注意到:
1、CPU的能力越来越强,例如iPhone 5S是iPhone 5的两倍。
2、JS编译器在改善。JIT比原生性能慢5倍,而Asm.js大概是1.3倍。
但真正的问题是浏览器的策略。除了Opera,所有主流的浏览器厂商都是移动OS厂商,Google在推动原生Chrome应用,Apple正在积极实现最新的标准,但不包括与性能相关的APIs,例如WebGL。
关于缺乏API的说法
电源管理和WIFi是目前HTML5所欠缺的最重要的两类APIs。61%的HTML5移动开发者开发移动网站或应用是直接在浏览器上开发的,但是只有37%的Android应用可以在手机浏览器通过HTML5来实现(即63%的Android应用(US)不能直接在移动浏览器上实现),如果浏览器能够支持电源管理和WiFI,则HTML5的应用数会有21%的上升。49%可以通过Phonegap,63%通过Appcelerator,而在Firefox OS上98%都可以通过HTML5来实现。
剩下的39%的 HTML5移动开发者不使用浏览器,而是用混合工具(如PhoneGap),Web to原生转换工具(如Appcelerator)和原生JavaScript APIs(如Firefox OS,Windows 8)。
设备身份API可解决cookie的问题。身份识别是广告和搜索业务的关键,同时也是内容定制、设备适配、用户跟踪、用户分享、客户支持、bug跟踪等众多功能的关键。Mozilla已经具有Persona身份功能,建议提供设备身份识别API作为cookie的替代,简化隐私关注,可以是用户跨移动和桌面。
API的实现与浏览器厂商的策略相关。震动和电池API均已为W3C的候选发布状态(Pre-final),但只有Firefox一家移动浏览器实现了,而文件系统API,仍在W3C的Working Draft,已被全部的7大主流移动浏览器厂商实现。运动API(motion API),只处于W3C的Early Draft状态(是引入API的最初状态),7大厂商中已经有6家实现。开发者需要游说浏览器尝试实现缺失的APIs,使之成为浏览器厂商有力竞争优势。
关于更容易开发的说法
实际上有效的工具,特别是调测和内存分析/内存管理工具非常缺乏,缺乏成熟的工具。目前,HTML5缺乏从原型到发布的工具链,缺乏像原生SDKs那样自带的整套一篮子工具。
HTML5就像一辆缺乏仪表盘的车,缺少调测、编辑、配置、分析等工具。34%的移动开发者认为HTML5需要更好的开发环境来与原生SDK竞争。每个浏览器厂商都有自己的开发工具,Chrome开发工具最为流行(Chrome开发工具65%,Firebug 38.6%,Firefox 31.2%)。
关于一切都是开放的说法
实际上和00年代的浏览器大战不同,移动平台并不在开放性方面进行竞争,而是在获取和留住用户、开发者、运营商和手机制造商。
建议对web app打包进行标准化,这样能减低HTML5开发者发布到更多设备的成本。目前各厂家都有自己如何将原生JS应用打包的标准,例如Firefox OS,黑莓 WebWorks,Windows 8、Tizen。标准化将使得HTML5到达更多设备的基础,使为Firefox OS或者Tizen在Windows 8或黑莓WebWorks运行成为可能。
关于HTML5与原生竞争的说法
实际上HTML5一直在模仿原生。
关于HTML5非黑即白的说法
实际上HTML5在企业、媒体和教育领域有吸引力。就商用角度看,在接纳HTML5方面仍需更多教育。开发者能干什么和客户认为他们能干什么之间存在gap。
HTML5受到了很多批评,但大都都是意见而不是事实。解决之道就是提供更多的事实,以HTML5应用的成功案例,解决具体的开发者的关注问题。移动开发者认为性能问题是他们不使用HTML5开发的最大原因(性能45.7%、APIs 37.37%、工具20.5%,货币化16.1%)。而FT(游戏公司)实验室主任Robert Shiston认为问题不是性能而是工具的成熟度。建议展示HTML5的应用,围绕大品牌(如FT)使用HTML5的教育,教导浏览器外的开发者使用HTML5。
相关链接:我的产业生态链和杂谈文章