暈蔡簡談React Native

簡談React Native

睜眼看趨勢

睜眼.jpg

混合式開發,跨平臺開發一直備受青睞,目前我了解的有:Web加載HTML5,PhoneGap,CrossApp,自定義XML,不得不提最近很火的Reac Native
.
為什么會如此受歡迎?大部分存在以下四點:

1.團隊成員的成本問題

2.開發周期中測試效率

3.多端代碼難以復用

4.App更新周期比較長,尤其蘋果

我眼中的RN

眼中的RN.jpg

+ 大部分使用JS進行構建原生APP
+ Learn once ,write anywhere;write once,runeverywhere
+ 實現熱更新
+ 支持腳本與原生模塊相互交互,內部橋連接
+ 多端代碼可以復用

RN運行環境

   1.JS環境
   2.iOS平臺:內置JavaScriptCore
   3.安卓平臺: 采用了Webkit.org 官方開源庫

RN原理

運行流程就是:JS ->虛擬DOM ->Bridge -> UI
下面我來逐一淺析:
React Native會把應用的JS代碼編譯成一個js文件, React Native進行解釋運行該腳本文件:
1.如果是js 擴展的API,則直接通過bridge調用native方法;
2.如果是UI界面,則映射到virtual DOM這個虛擬的JS數據結構中,
通過bridge 傳遞到native ,然后根據數據屬性設置各個對應的真實 native的View。
3.bridge是一種JS 和 平臺代碼通信的機制,
用bridge函數傳入對方module 和method即可得到異步回調的結果。

RN帶來的優勢以及隱藏的缺點

首先,用React組件化開發,提高了開發效率,代碼復用率較高;其次從架構層角度來講,組件間低耦合,便于擴展;另外采用了ES標準特性以及使用Chrome調試。
再來分析下它帶來的缺陷:學習成本相對較大,應用開發存在一定局限性,開發高級的App應用,純RN達不到要求;

寫在最后

u=2709257607,3098450328&fm=21&gp=0.jpg

可能有人會考慮,到底該不該學習RN呢? 請自行決定。程序員更要注重自己的內功,當然從橫向角度來看,學習也無妨,畢竟考慮自己腰包。程序猿不易,且行且珍惜。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容