我有一个使用Crosswalk的混合Android应用程序。几个月前,我改用了Crosswalk,这是一个巨大的生产力提升。我花了很多时间在不同的Android操作系统版本上进行测试,并且在不完整的HTML5/CSS3/ES6实现中遇到的问题少得多 - 如果我理解正确,因为Crosswalk基于Chromium,而早期版本的Android则不适用。Android v 5.0+ webview HTML5,CSS3和ES6兼容
但是,人行横道项目现在已被放弃。我的理解是,Android中原生Webview的post v 5.0实现非常适合Crosswalk的过时。
我现在正在考虑下降Crosswalk - 基于我的目标市场(西欧)Android v 5.0市场份额在单位数字并且下降很快的观察。
在我冒险之前,我想我应该问这里。 Android v 5.0+ WebView是否为HTML5,ES6和CSS3提供了一个真正平坦的Chrome级API?或者,我仍然可能遇到由各种设备供应商对操作系统进行“调整”而导致性能下降的未实现功能问题?
举几个具体问题
- 我能想到的全套CSS3伪选择的被支持
- 我可以假设,我可以放心地不使用
-webkit
样式的供应商合作前缀 - 威尔我可以写JS代码,使用
Object.keys
和其他更新的角色到JS稳定
我一直无法找到一个公司根据版本对全套Webview功能进行全面讨论。我非常感谢这方面的任何反馈。
因为我张贴了这个问题,我已经有滴人行横道试验和测试,我的摩托E3Power手机上运行的Android 6.所有意图和目的,预期该应用程序仍然工作只是结果。但是,这远远不是一个严格的测试。我正在对这个问题进行奖励,希望它能产生一些明确的答案。
现在已经测试了我的非Crosswalk构建在两个设备上,我遇到了一个直接的问题。我做的一件事是修改cssText
。例如
document.getElementById('id').style.cssText =
";transform:rotate(45deg) translate(calc(1024px - 1.35em)) rotate(-45deg);"
这在我的Android 6.0摩托完美的作品,并提供预期的结果:
- 元
#id
旋转45度 - 滑出沿着它,旋转,X轴
- 终于旋转返回-45度
令人惊讶的是在HTC Hero上运行droid 7.0这不起作用。虽然它没有任何意义,我甚至在添加-webkit-
前缀后尝试了。在这两款设备上,我都将Webview升级到Play Store上的最新版本。
退房caniuse.com –
的Android 5+的WebView是基于铬,并通过Play商店更新。您可以检查安装在您自己的设备上的'Android System WebView'软件包的版本,并查看其版本对应于最近发布的铬版本。 ///由于您没有将其捆绑到应用程序中(例如Crosswalk),因此不同的设备有不同的版本,您可能会遇到HTML应用程序中的兼容性问题。 ///您可以随时在运行时检查安装的版本并提示用户更新其WebView实现。 –
为了完整:除了KitKat之外,Android WebView根本不基于Chrome。 KitKat WebView基于Chrome 33,无法更新。看到这里:https://developer.chrome.com/multidevice/webview/overview –