RN開源:MeiTuan-高仿美團客戶端 React-Native版,支持iOS、Android
簡介
這是一個用React-Native寫的美團客戶端。
使用了React-Native 0.44.0版本。遵循ES6語法。
主要實現了美團的四個一級頁面(團購、附近、訂單、我的),以及部分二級頁面(團購詳情、Web頁面)。
所有功能都是用JavaScript寫的,iOS和Android的代碼復用率達到了97%(別問我這個數字怎么來的,我瞎掰的)。
這個Demo的靜態類型檢查工具使用了非死book的Flow。它讓我寫JavaScript的時候,更有安全感。個人覺得可以用兩個字形容這個工具,那就是:灰常牛逼!
我試著讓這個Demo的結構盡量接近實際項目,同時使用比較簡單方式去實現功能。這樣可以讓剛接觸ReactNative的人(比如我自己...)更夠容易理解代碼。
該項目沒有使用Redux。因為個人覺得目前大部分的中小型App并不需要Redux。如果盲目的將Redux添加到項目中,并不能帶來太多的益處。
魯迅曾說過:
"如果你不知道是否需要 Redux,那就是不需要它。"
Redux的作者 Dan Abramov 說過:
"只有遇到 React 實在解決不了的問題,你才需要 Redux 。"
哦,另外一個沒有用Redux的原因,是我還不太會用。
App的頁面跳轉、TabBar、Navigation,全部通過 react-navigation 實現。這是一個非常牛逼的庫,可以實現很多自定義的跳轉功能。最早是通過 react-native-router-flux 實現跳轉。在遇見react-navigation后,我果斷放棄了react-native-router-flux。
App中很多頁面都使用了同一個網絡接口,這不是為了讓代碼更加簡潔,僅僅是我偷懶 >.<
React Native交流10群: 157867561 ,歡迎各位大牛,React Native技術愛好者加入交流!同時博客右側歡迎微信掃描關注訂閱號,移動技術干貨,精彩文章技術推送!
項目中使用到的第三方庫依賴信息如下:
1.react-navigation( https://github.com/react-community/react-navigation )
2.react-native-scrollable-tab-view( https://github.com/skv-headless/react-native-scrollable-tab-view )
安裝運行
git clone https://github.com/huanxsd/MeiTuan.git
cd MeiTuan
npm install (npm v3+)
react-native run-ios or react-native run-android
運行截圖
項目主頁:http://www.baiduhome.net/lib/view/home/1494224179062