更新于2017年2月,intel官方已经宣布终止crosswalk项目。
此问题没有继续讨论的必要了。
====================================================================
有不少开发者问到crosswalk是否可以作为插件集成到HBuilder中。
首先,通过我们的原生插件集成方案,使用HBuilder的离线打包和插件开发模型,可以把crosswalk当作一个原生插件集成进来。
但是需要一点原生开发的知识,在问答系统里搜索"插件开发"就有教程。
注意即使集成后crosswalk的webview和5+的webview并不能同时出现,一个app里的某个页面,要不用cw渲染,要不用5+渲染。
其次,我们曾有想法要把crosswalk做一个标准插件,在cw上扩展5+的api,包括Native.js,但到了2016年后,团队已经放弃了这个想法,投入产出太低。
crosswalk的技术路线:是集成chromium内核替换Android webkit浏览器内核,由于chomuin的执行效率高于webkit,所以性能也得到提升。
cw主要解决的问题有2个:
- Android4.0-Android4.3之间的webview性能差的问题,主要是div动画、canvas、webgl。Android4以前用不了cw,Android4.4起用不着cw。
- 浏览器的兼容性问题。
对于5+而言,这2个问题并非本质问题。
- Android4.4已经成为主流,Android6.0也在快速增长,Android4.0-4.3之间的canvas、webgl改进价值虽然存在,但越来越弱。而div动画低效的问题在5+里一直是用原生view动画来解决,性能体验更好。
目前如果是为了优化canvas,可以采用的一个方案是:把canvas界面独立出来,把cw通过sdk方式进入,然后独立的界面用cw渲染,如果需要5+api,通过跨窗体通信让其他webview执行5+api。 - 浏览器兼容性问题在手机上并不严重,都是webkit内核,不要用太新的css3语法,一般不会有兼容性问题。HBuilder也有浏览器兼容性语法提示,写代码时注意看下代码助手右侧的提示。
但引入cw进5+的问题很多:
- cw上扩展plus和Native.js工作量非常大
- cw上真机运行、云打包、sdk配套的工作量非常大
- cw的体积最小也得9M。而目前HBuilder基座如果不带个推那些插件,才1m的体积。
利弊权衡,我们决定放弃引入cw的计划,把精力投入到更容易产生效果的地方。
16 个评论
该文章目前已经被锁定, 无法添加新评论
梁大路
书痕
春华秋实
指挥官
指挥官
奔跑吧几维鸟
karl
花笙科技
OceanJackZhu
DCloud_heavensoft (作者)