React-Native測試報告

 React-native 使用js編寫android和ios程序,前端時間開始支持android,本人根據官方的教程,先安裝開發環境,而後運行hello world,最後看了下官方提供的實例程序UIExplorer,感受還不錯。
 
對android相對熟悉一點,首先關注android部分,android使用grader編譯,能夠導入工程到android studio或者idea中,也可使用命令行編譯。在android studio中運行之後能夠普通的android程序同樣,點運行按鈕之後就開始編譯,若是電腦上鍊接好了安卓設備或者模擬器就能夠成功運行。(採用命令行有的設備會安裝失敗須要手動安裝)
 
這裏運行的是一個loder程序,經過loader程序會加載本地服務器端的js文件,服務器端由note.js提供,使用命令「adb reverse tcp:8081 tcp:8081」 能夠將本地端口綁定到設備上,因爲本人adb的版本緣由 命令執行失敗,所以在loader中設置ip地址來訪問服務器端,
 
服務器端程序固然要啓動才行,運行react-native run-android 啓動服務器端和編譯安裝loader是同時進行的。
另外也能夠單獨運行服務器端程序,react native start 或者在master目錄中運行 ./install/install.sh
 
ios也是採用相似的方式,建立項目後會生成項目文件,導入Xcode直接運行就能夠了,運行的時候一樣會啓動服務端。
 
loader程序通常是固定不變的,修改服務端的js文件,而後再loader上reload就會加載新的js文件,這樣對提升開發效率是頗有好處的,
編寫android的程序,固然是要返回測試的,雖然打包安裝的過程都是全自動的,但不停的這樣操做是很費時間的,若是機器配置很差每次修改後程序運行都要等一段時間。
 
固然,這樣看來也能夠對應用進行熱更新,就像網站同樣,若是更新了服務器端程序,客戶訪問到的就是修改後的網站。可是代碼的加密又會是新的問題。
 
就android而言,loader程序代碼,和普通的安卓項目是基本上是同樣的,不一樣的是引入了react-native的lib(核心庫),lib已第三方庫的形式存在,使用android studio只須要填寫lib名稱,就會自動下載,從被註釋的代碼能夠看到,也能夠從源碼引入lib工程,若是源碼不知足你的要求就能夠直接去修改。
 
loader的做用就是提供js的執行環境,react是將android自帶的控件函數之類映射到js中,ios也是採用相似的方式,經過js來調用原有的函數,而不是本身從新實現了一個界面框架。所以android端的demo和ios的是有一些差異的。
 
js的執行環境是採用JavaScriptCore引擎,調試時根據官方的介紹說放在瀏覽器端執行的,使用V8引擎。
配置開發環境,根據文檔須要安裝NDK,實際上若是不本身編譯react-native的核心庫,是不須要NDK的,應用程序通常直接引入lib就能夠了。
 
理論上運行hello world,只須要loader程序和一個note.js的服務器就能夠了,若是作開發還須要loader的源代碼以增長原生的擴展,調試的話,react-native提供了谷歌瀏覽器的插件來調試。
 
官方的文檔目前是蘋果系統下進行的,若是要開發ios的應用是必須使用蘋果系統的,沒有Xcode ios的loader沒法編譯。
 
不過,若是隻想看看android的效果,使用windows應該也是能夠的。理論上只須要裝上note.js的服務器環境,而且導入android項目源碼就能夠了。
 
固然本人並無測試,準備有時間到windows下試試,到時候再發文章吧,敬請期待.....
 
更多精彩內容,請關注微信公衆號:zhaojieTec
 
相關文章
相關標籤/搜索