第一种:比较常见的就是使用OC中自带的UIWebView类,来实现加载H5网页界面。
第二种:WebViewJavascriptBridge开源库使用,然后注入相应的JS。
第三种:reactiveNative,是facebook2015年开放的一个开源框架。
优点是:能够用JavaScript脚本就可以写出App的界面,对从事Web开发的同事们转行做几个简单的移动App是个福利。不用为了写个移动App小程序而专门去学习Objective-C和Swift。
和其他的移动Web框架相比:
- Native不用WebView,彻底摆脱了WebView让人不爽的交互和性能问题;
- Native的原生控件有更好的体验;
- Native有更好的手势识别;
- Native有更适合的线程模型;
缺点是:还在试用阶段,潜在的问题尚不得而知:兼容性问题,性能问题等。还没大量普及,学习资料尚且不多,供爱折腾的朋友尝尝鲜。
第四种:iOS7之后出了JavaScriptCore.framework用于与JS交互,但是不支持iOS6,
iOS 开发中,H5的嵌套可以通过UIWebView (iOS 2)和 WKWebView(iOS 8)之后出现的
IOS 和 H5交互从根本上可以分为两种方式:
1. 使用UIWebView
1)使用基本的H5布局
2)使用苹果自带的JavaScriptCore. framework
3)使用第三方框架WebViewJavascriptBridge
2.使用React框架
备注:
IOS 和 H5结合被拒的原因并不是 因为App中的H5的问题,而是由于用户直接调用系统中的 Web后台的网页,并不是真正意义上的IOS 和 H5结合的开发。(相当于App只是通过一个WebView打开一个Web,只是一个简单的浏览器就能实现的功能)