1. 程式人生 > >學習日記(1) 成功執行、編譯RN-android的爬坑記錄

學習日記(1) 成功執行、編譯RN-android的爬坑記錄

前言

  • 從15年下半年開始,不斷的在網路上看見各路大神推薦React Native是如何神通廣大,但對於初識Android的我來說並不理解這到底是個什麼東西。最近團隊打算用這個技術實現我們客戶端App的首頁(會不定期釋出活動),這對於我來說又是一次自我的提升和學習機會。

定義

  • 什麼是React Native?
    這個也是我當初第一次接觸到這個概念的疑問,不過縱觀網上各路帖子,但一直以來都很模糊。React Native 底層是Java Script ,呼叫的是原生元件,而非HTML5元件(HTML + CSS + JavaScript)。執行時,可以做到與Native App媲美的體驗,同時因為JavaScript程式碼可以使用後端強大的Web方式管理,既可以做到高效開發,也可以做到快速部署和熱修復。通俗的話來說,就是使用js程式碼來呼叫android的原生控制元件,來解決webview在app的效能問題,並且能做到服務端快速部署和熱修復,避免不斷髮版本來更新影響使用者體驗的缺點。

  • 為什麼要使用React Native?
    最初也提到了,用這個技術來改善app首頁樣式的靈活性和豐富性。雖然,現在的做法也是由服務端來控制首頁的佈局載入(首頁由很多個block來構建,類似於搭積木一樣,也類似於recycleview 通過不同的type返回的layout來組裝出一個首頁),但優缺點都顯而易見。
    優點是:原生實現,體驗好。
    缺點是:不夠靈活,樣式不夠豐富,只有通過每次版本升級來增加其餘樣式block(大家想想淘寶、天貓的首頁,就能體會到了)。 雖然說react-native解決了以往webview的效能問題,和服務端控制的靈活問題。但對於這樣的一個新技術,封裝出一套可維護性擴充套件效能高的框架,也是今後研究的重難點。
    (阿里開源了weex,之前看過

    https://zhuanlan.zhihu.com/p/21677103這篇weex和RN的對比,文章中指出weex解決了RN封裝的問題,不過筆者打算先自己嘗試體會封裝RN,再感受weex,這裡以後再談)

環境搭建

建立、執行React Native專案

編譯、執行RN專案爬坑

  • 關於執行react-native run-android編譯報錯的問題,這裡大家一是可以通過報錯的異常資訊提示來進行處理,二可以搜尋異常解決方案,網上都有很詳細的資訊。這裡就不重複贅述了,筆者都是這樣過來的,都能夠搜尋到。
  • 這裡主要提示一下新手從網上下載的RN專案原始碼,或者自己建立的專案,開啟專案一定要遵循以下步驟,以免遇到一些莫名其妙的坑。
    1.切換到專案目錄下
    2.執行npm install
    3.raect-native run-android
    4.如果啟動報錯,執行npm start的命令
    (以下是Windows環境下的截圖)
    這裡寫圖片描述

總結