软件开发语言较多,在特定的场景下每种语言都有其优劣。当下出于各种原因,原生app也迅速的在朝着大前端方向发展。iOS开发,自然也少不了和h5的混编。
我们常用的原生api和h5交互主要有四种方法:
第一种:我们常见的UIWebView,嵌套网页的形式。
第二种:利用开源库注入js。比如WebViewJavascriptBridge
第三种:reactnative实现跨平台
第四种:利用iOS原生的开发框架,JavaScriptCore.framework。但这个库不支持iOS6及以前的版本
另外UIWebView页面信息的离线缓存问题,可以用RNCachingURLProtocol解决
[NSURLProtocolregisterClass:[RNCachingURLProtocolclass]];
接下来我们仔细讲讲这四种方法: