有没有成熟的webview:javascript-nativecode交互方案


两个平台的实现完全不一样,很担心以后做向后兼容的时候会是个大坑啊


补充A:混合型app,不是全native code的

Android html5 hybrid-app ios JavaScript

塞巴斯蒂安 10 years, 11 months ago

1,JS 使用了两种方式来与 Objective-C 通信,一种是使用 XMLHttpRequest 发起请求的方式,NSURLProtocol 的子类来检查每个请求,如果地址是自定义的协议头,拦截之;另一种则是通过设置透明的 iframe 的 src 属性,JS 端创建一个透明的 iframe,设置这个 ifame 的 src 为自定义的协议,而 ifame 的 src 更改时,UIWebView 会先回调其 delegate 的 webView:shouldStartLoadWithRequest:navigationType: 方法。
2,Objective-C 跟 JS 通信,使用UIWebView 的方法 stringByEvaluatingJavaScriptFromString:。

allfou answered 10 years, 11 months ago

国内的egret引擎速度是phonegap的30倍

狂氣D紳士 answered 10 years, 11 months ago

phonegap不行?

人畜无害的少年 answered 10 years, 11 months ago

PhoneGap 大法好。灵活运用 PhoneGap,可以满足你的一切需求。就算是基本是 native 写的 app 只有一小部分嵌入 HTML,也都可以使用 PhoneGap,提供很多便利。

有趣的是 PhoneGap 在 iOS、Android、Windows Phone 等等一堆平台上上使用的都是不同的交互实现。

貌似有的平台是 localhost 架设了个 server,通过 XHR 来交互。有的平台是用浏览器的 window.prompt 交互。还有的平台直接提供了原生交互方案。

Hamono answered 10 years, 11 months ago

Your Answer