简介
Hybrid App
(混合模式移动应用)是指介于web-app
、native-app
这两者之间的app
,兼具Native App
良好用户交互体验的优势”和Web App
跨平台开发的优势。
分类
- 多View混合型
即Native View
和Web View
独立展示,交替出现。2012年常见的Hybrid App
是Native View
与WebView
交替的场景出现。这种应用混合逻辑相对简单。即在需要的时候,将WebView
当成一个独立的View
运行起来,在WebView
内完成相关的展示操作。这种移动应用主体通常是Native App
,Web
技术只是起到补充作用。开发难度和Native App
基本相当。 - 单View混合型
即在同一个View
内,同时包括Native View
和Web View
。互相之间是覆盖(层叠)的关系。这种Hybrid App
的开发成本较高,开发难度较大,但是体验较好。如百度搜索为代表的单View
混合型移动应用,既可以实现充分的灵活性,又能实现较好的用户体验。 - Web主体型
即移动应用的主体是Web View
,主要以网页语言编写,穿插Native
功能的Hybrid App
开发类型。这种类型开发的移动应用体验相对而言存在缺陷,但整体开发难度大幅降低,并且基本可以实现跨平台。Web
主体型的移动应用用户体验的好坏,主要取决于底层中间件的交互与跨平台的能力。
iOS与JS交互
iOS
与JavaScript
交互主要通过UIWebView
或者WKWebView
来处理。
- 在
JS
中做一次URL
跳转,然后在OC
中拦截跳转。(这里分为UIWebView 和 WKWebView两种)。 - 利用
WKWebView
的MessageHandler
。 - 利用系统库
JavaScriptCore
,来做相互调用。(iOS 7推出的) - 利用第三方库
WebViewJavascriptBridge
。 - 利用第三方
cordova
库,以前叫PhoneGap
。(这是一个库平台的库) -
React Native
。 -
weex
。