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


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


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

Android html5 hybrid-app ios JavaScript

塞巴斯蒂安 10 years, 2 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, 2 months ago

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

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

phonegap不行?

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

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

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

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

Hamono answered 10 years, 2 months ago

Your Answer