Hybrid開發框架二、React Native

簡述:

React Native (簡稱RN)是Facebook於2015年4月開源的跨平臺移動應用開發框架,是Facebook早先開源的JS框架 React 在原生移動應用平臺的衍生產物,目前支持iOS和安卓兩大平臺。RN使用Javascript語言,類似於HTML的JSX,以及CSS來開發移動應用,因此熟悉Web前端開發的技術人員只需很少的學習就可以進入移動應用開發領域。

題外話:

混合開發,效率,動態性,性能都要兼顧。通常運營活動,經常需要變的需求會採用動態化方案,但是無論是native還是hybrid頁面,穩定的底層基礎組件都是這些上層業務的基石。純粹用跨平臺方案寫的,線上大型應用應該沒有。但是原生和跨平臺混用的場景,各家大廠基本都在使用。

比如阿里的weex,微信的小程序。

也可以在app中集成彈幕功能。

ReactNative中Js和Native的通訊機制

ReactNativeAndroid源碼分析-Js如何調用Native的代碼 - 程序人生 - 知乎專欄 

主要是在layout中放了個ReactRootView作爲根容器,負責分發事件。事件由dispatcher分發給js。調用js是通過JavaScriptCore來實現的。

Js和Java層通訊這一塊,機制其實和微信的JsBridge是一致的,也是目前頁面比較常用的一種方法。通過在Js中維持一個queue來保存module id, method id和參數,JNI層,cpp調用JSC的函數,其實是通過這個queue來獲取函數的調用結果的,cpp層解析完返回的queue之後,會去回調Java層傳遞來的Callback對象,從而實現Js和Java通訊。

js一統大前端,以後就是web和app用React,服務器用Node.js,至少組建團隊方便應該是方便了很多。

--------------------------------------------------分割線--------------------------------------------------
未完待續。。。

發佈了93 篇原創文章 · 獲贊 68 · 訪問量 47萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章