GitHub:https://github.com/tion126/RNLive
沒錯,就是低仿~
上幾張圖先:
基于0.44.3版本,還算是比較穩(wěn)定。目前公司的項目也是基于這個版本。
使用的框架有這些
"react-native-scrollable-tab-view": "^0.6.7",
"react-native-swiper": "^1.5.10",
"react-redux": "^5.0.6",
"redux": "^3.6.0",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.2.0",
"shimo-navigation": "0.0.12"
其他框架大家應(yīng)該都用過了,最后那個shimo-navigation是對石墨文檔公司開源的一個基于react-navigation 的導(dǎo)航系統(tǒng),還是挺好用的。
這個是react-native 的目錄結(jié)構(gòu)
這個是項目的目錄結(jié)構(gòu)
這里說說我個人對RN的看法:
RN性能說句實話還是和原生有差距,但是性能不是特別敏感的情況下RN還是很犀利的。比如可以代替一些以前用H5實現(xiàn)的頁面,還有頻繁更新的業(yè)務(wù)也可以用他來構(gòu)建,純RN項目就不太可行了,除非是非常輕量級的APP。so,對于大多數(shù)項目還是混合比較好,就比如這個低仿demo,直播頁面播放的畫面使用原生實現(xiàn),但是禮物是用RN實現(xiàn)。還有一點,RN在老舊低端機上表現(xiàn)只能說是差強人意,但是老舊機型遲早是會淘汰的,在較新的機型上RN的表現(xiàn)還是比較出色,比如用iPhone7大多數(shù)頁面我已經(jīng)感覺不出和原生有啥區(qū)別了,而iPhone7也不是新??,畢竟明天iPhone8(x edition 7s ?...)就要發(fā)布了。
iOS這邊是手動建的工程,然后通過cocoapods把RN框架集成到項目中,也算是模擬老項目集成RN了。畢竟現(xiàn)在新項目比較少,大多數(shù)老鐵都是維護老項目,推翻重寫也不太現(xiàn)實。推流用的LFLiveKit 播放用的IJK。Android這邊只寫了播放,用的是7牛的框架,手頭沒安卓的設(shè)備,推流就沒搞了,不過這些去年都被別人寫爛了,也沒啥好說的了。安卓這邊和iOS還有一些區(qū)別,模擬器不是很好用就沒完善了。
推薦使用WebStorm運行,VSCode也可以。
運行方式
cd到 react-native目錄
npm install
iOS
因為github傳不了100m以上的文件,ijk已經(jīng)100多m了,需要另外下載
下載解壓后放置在圖中目錄即可
鏈接: https://pan.baidu.com/s/1miedota 密碼: af6i
工程目錄
pod install
|
|
v
運行
Android
直接運行
如果你喜歡我的項目/或者我的文章可以給我個star!
GitHub:https://github.com/tion126/RNLive
歡迎下方留言討論