摘自原文
原文是一個(gè)不錯(cuò)idea思喊,未來可能大放異彩。
優(yōu)點(diǎn):h5開發(fā)人員多望浩,跨平臺性能好站粟,UI可以隨時(shí)更替,快速調(diào)整入口方案曾雕,不用提交新包審核奴烙。
缺點(diǎn):用戶行為統(tǒng)計(jì)等受限于webview的性能,目前UIwebview剖张, UKwebview還存在很多問題切诀,可能出現(xiàn)加載數(shù)據(jù)緩慢等體驗(yàn)問題。目前還不能完全推行開來搔弄,大公司技術(shù)更新成本決定不可能接受幅虑。
目前只適用于社交大平臺,比如微信顾犹,facebook倒庵,大量用戶分享h5頁面到其平臺,其他公司的h5通過這種交互能直接支付炫刷,掃碼擎宝,分享,錄音等等浑玛,不用出微信就可以完成N多業(yè)務(wù)绍申,轉(zhuǎn)化率也相對高很多。微信如果對這種商用接口收費(fèi)尼,或者打擊競爭對手极阅?呵呵胃碾,躺著就能賺錢吧。
閑話到此筋搏,我們來分析下這個(gè)深度交互到底是什么東東仆百?
下載源碼:github源碼??
借用原文的圖來說明下運(yùn)行過程,然后分析源代碼的機(jī)制
這個(gè)是封裝好的接口奔脐,通過這四個(gè)方法來進(jìn)行交互儒旬。機(jī)制大致是通過js來進(jìn)行的如下
H5->OC
1.H5 將method,參數(shù)data保存在一個(gè)地方帖族,然后做跳轉(zhuǎn)(如源代碼種的:@"wvjbscheme://__WVJB_QUEUE_MESSAGE__")
2.OC攔截到wvjbscheme://__WVJB_QUEUE_MESSAGE__ 之后通過固定的接口去獲取method和data
3.OC 執(zhí)行method,通過js返回給h5結(jié)果栈源!
反之OC->H5過程一樣。
WebViewJavascriptBridge把這個(gè)過程封裝了起來竖般,設(shè)計(jì)了方便的接口甚垦,真心贊!