Native Bridge 原理與實(shí)現(xiàn)

JS調(diào)用Native弓熏,就是在這里和iOS還有安卓約定好一個jsObj對象五辽,
這個jsObj對象是移動端提供的特碳,大家在HTML代碼里是沒有看到的刻两。

其實(shí)移動端在加載HTML的時候增蹭,會在上下文中注入這個對象到咱們JS中。咱們就可以直接調(diào)用這個對象的方法

這個對象提供了一個HtmlcallJava方法磅摹,并接受2個參數(shù)滋迈,JS用
window.jsObj.HtmlcallJava(username, password);調(diào)用就行。類似的還需要其他方法户誓,跟移動端約定好后往jsObj對象里面添加就行饼灿,然后可以直接調(diào)用了

提供給Native調(diào)用的方法就簡單了,按照約定好方法名和參數(shù)帝美,接受參數(shù)后實(shí)現(xiàn)我們的業(yè)務(wù)就行

還是相對比較簡單碍彭,但在我們的業(yè)務(wù)里面是遠(yuǎn)遠(yuǎn)不夠的,往往參數(shù)很多,傳參的時候可能要序列化成json格式硕旗,有必要的時候還要加密窗骑,還有和移動端交互的方法很多,還要便于管理漆枚。當(dāng)然在這里我們只是給大家提供一個思路创译,原理和實(shí)現(xiàn),在我們實(shí)際開發(fā)中會有一套嚴(yán)格的規(guī)范墙基,在后續(xù)的直播課或者咱們兄弟連的全棧班里面會陸續(xù)給大家講解

HTML是可以放在服務(wù)器里面软族,提供URL給客戶端調(diào)用,在這里我們?yōu)榱朔奖阏{(diào)用放在客戶端本地

我們知道全球有82%的網(wǎng)站是用PHP做的,PHP程序員都會PHP和JS,如果我們僅使用兩種編程語言甚至是一種編程語言,就能完成一個擁有網(wǎng)頁端,微信端,app端的多端應(yīng)用.那么我們將能培養(yǎng)大量的全棧工程師,這批全棧工程師可以勝任移動互聯(lián)網(wǎng)領(lǐng)域所有的開發(fā)崗位

現(xiàn)在市面上流行的混合app框架有很多,這些構(gòu)架大部分都是國外的.比如
FaceBook開源的ReactNative就是其中的佼佼者,在加上單頁App技術(shù)成熟與普及使得僅使用PHP加JS就可以完成整個項(xiàng)目開發(fā)

那么是不是我們只學(xué)習(xí)類似ReactNative構(gòu)架就可以做全棧工程師了呢?問題沒那么簡單,如果你在國外或許還真行,可是在國內(nèi)我們要想精通混合App開發(fā)模式,我們需要了解混合App實(shí)現(xiàn)原理也就是NativeBridge技術(shù),因?yàn)閲獾目蚣苁遣粫芍Ц秾毢臀⑿诺?而國外集成的很多好用的組件也因?yàn)閲鴥?nèi)網(wǎng)絡(luò)的特殊性導(dǎo)致我們部分組件無法正常使用

要能靈活地使用NativeBridge完成自己的項(xiàng)目開發(fā),我們除了必要的編程語言技能外,還需要對移動互聯(lián)網(wǎng)的整個生態(tài)與行業(yè)特點(diǎn),比如說在國內(nèi)我們很多的項(xiàng)目會接入微信公眾平臺,并且微信也有提供相應(yīng)的JSSDK讓我們的網(wǎng)頁擁有調(diào)用掃碼,語音識別的能力.那么我們開發(fā)的平臺要想讓我們的程序做到一次開發(fā)多端兼容,那么我們除了兼容IOS,Android以外還應(yīng)把微信,支付寶,微博這樣的行業(yè)巨頭考慮進(jìn)去

NativeBridge的實(shí)現(xiàn)原理其實(shí)并不復(fù)雜,大的原則來說就是講數(shù)據(jù)渲染,用戶交互,流程控制等核心業(yè)務(wù)類開發(fā)需求交給Web程序員來完成.而涉及到手機(jī)硬件和第三方平臺提供的功能則使用底層封裝并提供統(tǒng)一的JS與PHP接口,這種封裝技術(shù)叫做NativeBridge

那么我們下面在來看一下Android和IOS分別是如何實(shí)現(xiàn)NativeBridge的.以下的演示是為了方便大家看懂原理,所以對代碼進(jìn)行了大量的簡化,與兄弟會在商業(yè)項(xiàng)目中正在大量使用的封裝存在較大差距.如果是把商業(yè)級代碼直接擺出來不利于大家理解,也違反公司規(guī)定

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末残制,一起剝皮案震驚了整個濱河市立砸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌初茶,老刑警劉巖颗祝,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異恼布,居然都是意外死亡螺戳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門折汞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倔幼,“玉大人,你說我怎么就攤上這事爽待∷鹜” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵鸟款,是天一觀的道長膏燃。 經(jīng)常有香客問我,道長何什,這世上最難降的妖魔是什么蹄梢? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮富俄,結(jié)果婚禮上禁炒,老公的妹妹穿的比我還像新娘。我一直安慰自己霍比,他們只是感情好幕袱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悠瞬,像睡著了一般们豌。 火紅的嫁衣襯著肌膚如雪涯捻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天望迎,我揣著相機(jī)與錄音障癌,去河邊找鬼。 笑死辩尊,一個胖子當(dāng)著我的面吹牛涛浙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播摄欲,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼轿亮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了胸墙?” 一聲冷哼從身側(cè)響起我注,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迟隅,沒想到半個月后但骨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡智袭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年奔缠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片补履。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖剿另,靈堂內(nèi)的尸體忽然破棺而出箫锤,到底是詐尸還是另有隱情,我是刑警寧澤雨女,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布谚攒,位于F島的核電站,受9級特大地震影響氛堕,放射性物質(zhì)發(fā)生泄漏馏臭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一讼稚、第九天 我趴在偏房一處隱蔽的房頂上張望括儒。 院中可真熱鬧,春花似錦锐想、人聲如沸帮寻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽固逗。三九已至浅蚪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烫罩,已是汗流浹背惜傲。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贝攒,地道東北人盗誊。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像饿这,于是被迫代替她去往敵國和親浊伙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 先來看一下現(xiàn)在的互聯(lián)網(wǎng)項(xiàng)目需要哪些部分組成,比如淘寶,天貓,京東,微博,等等.我們會發(fā)現(xiàn)現(xiàn)階段一個互聯(lián)網(wǎng)項(xiàng)目它同時...
    劉宇龍閱讀 1,984評論 1 1
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,178評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫长捧、插件嚣鄙、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,107評論 4 62
  • 經(jīng)過約半個月的時間的努力,云木串结、云林和云森兄弟三人再加上幾個張姓同宗兄弟的幫忙哑子,一間與伙房大小一樣的小...
    木易花閱讀 229評論 2 3
  • 本來已經(jīng)很困了,但還是來記錄下吧肌割。在群里看到了五年多的同學(xué)在聊實(shí)習(xí)和畢業(yè)后的問題卧蜓,才知道原來好多人也不是看起來那么...
    就問你6不6閱讀 160評論 0 0