什么是 Javascript bridge
隨着h5的不斷普及及優化,以及移動端對動態化的需求越來越大,開發者經常需要在app中嵌入一些網頁,然后會在web和native之間進行交互,如傳遞數據,調用函數,而連接web與native需要一個橋梁,通常稱為javascript bridge,項目中選擇一個好的javascript bridge也非常重要。
Javascript bridge現狀
目前github上也有一些開源的,其中使用最廣的非WebViewJavascriptBridge、JsBridge莫屬,然而,最近剛開源了一個新項目DSBridge,號稱最好用的javascript bridge。筆者仔細對比了一下,DSBridge分分鍾秒殺所有啊。
下面是一篇DSBridge與WebViewJavascriptBridge的對比文章:DSBridge VS WebViewJavascriptBridge, 文章中各方面對比已經很詳細了,在此,簡單總結一下,以作記錄。
DSBridge 和 WebViewJavascriptBridge相比的主要特點:
- DSBridge真正跨平台!原版WebViewJavascriptBridge只支持ios,只不過有人在android上也實現了和WebViewJavascriptBridge相同的前端調用協議,所以可以在ios/android上使用同一套js調用協議,但本身來講,WebViewJavascriptBridge ios和android平台並非一家之作,所以也並沒有官方提供跨平台的技術支持,而DSBridge官方同時支持ios和android。
- DSBridge支持同步調用!這一點秒殺其它所有,可謂一騎絕塵。同步在復雜一點的應用中有多重要,相信使用過node的都應該深有感觸。原文中有仔細說明,請移步http://www.jianshu.com/p/d967b0d85b97。
- 三端友好; 無論是在ios、android或者 web,使用起來都非常簡單優雅,這一點和WebViewJavascriptBridge相比,簡直就是藝術。
- DSBridge為國人項目,有詳細中文文檔和問題反饋渠道。
其它
DSBridge雖剛剛開源,比較年輕,不像WebViewJavascriptBridge和javascript bridge那樣有着多年以來積累的用戶,目前知名度也並不高,但就github和作者博客來看,目前已有一批用戶在使用,反饋都很不錯,作者對於反饋都能及時回應,最近github上 android版的英文文檔也已經補上,DSBridge需要一個宣傳和用戶積累的過程。DSBridge的測試覆蓋非常全,根據github上的最新更新記錄,增加了壓力測試,在異步連續調用1萬次的情況下DSBridge依然堅挺!ios上支持ios7以上,同時允許自由選擇WKWebView和UIWebview,而Android端相對來說要簡單一些,相信你完全可以看懂其源碼。
DSBridge Github地址:
iOS: https://github.com/wendux/DSBridge-IOS
Android: https://github.com/wendux/DSBridge-Android