所谓健壮就是经得住考验,bug少、兼容性好、在各种情况下都能稳定运行。然而,可怕的事,现有的知名开源jsbridge 质量都存在着严重问题,下面是我在两个知名Android JSBridge开源库下提的问题:
- https://github.com/lzyzsd/JsBridge/issues/119
- https://github.com/jesse01/WebViewJavascriptBridge/issues/5
可见,要想造一座好桥,还是不容易的。
跨平台
为了保证同一份Javascript代码既能同时在Android和IOS下正常运行,那么好的JavaScript Bridge 应该要能跨平台,这样才能保证在Android和IOS和H5通信协议一致。然而,目前Github上万star的 marcuswestin/WebViewJavascriptBridge 官方也只提供了IOS版,尽管有一些第三方Android实现,但大都存在各种各样的问题,有的存在严重bug,如 https://github.com/jesse01/WebViewJavascriptBridge/issues/5 , 有的和IOS版差别太大,如 https://github.com/fangj/WebViewJavascriptBridge 。
安全
安全是很重要的,现在有些Android实现中使用了 webview.addJavascriptInterface
,而在Android 4.2.2之前, webview.addJavascriptInterface
存在任意代码执行漏洞,这就会导致严重的安全问题。