[分享] react-native做的開原app

看板Ajax作者 (眾生都是未來佛)時間7年前 (2017/04/28 08:20), 7年前編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
本人用潮潮的(!?XD)react-native寫的一支 很簡單的小app - Taiwan Animal Adoption (TAA)。 已在Google Play與Windows Store上架: Google Play: https://play.google.com/store/apps/details?id=com.taa Windows Store: https://www.microsoft.com/en-us/store/p/taiwan-animal-adoption/9ph0cq23zks5 在此分享app原始碼給有需要的人: https://github.com/MrMYHuang/taa 這支app或許不大,但五臟俱全,用上幾個滿fashion的技術XD: react, react-redux, react-native (inc. NativeModule), react-native-windows, CodePush。 應該滿適合初學者拿來作學習。 再來就是個人對於幾個技術的一些小感想。 我覺得目前要拿react-native來做東西的人,不要抱太大期望說 "寫一次,各平台都可以跑"。這不是不能,但能滿足這種條件的apps, 目前應該"做不大"。因為各平台的差異,造成react-native的不少APIs也是 platform-specific。可能一個component有一部分要考量平台差異, 那部分的code寫起來就會有點醜囧 不過這也不太算react-native獨有的問題,其它如Xamarin也是差不多。 個人用native語言寫過app,所以較能感受這些跨平台架構的app是有些受限的, 個人開發的話大概較適合寫小apps吧。 即便有些跨平台問題只是時間問題,時間到就能解決... 但現階段還是要仔細評估react-native現在能給你什麼、你能做什麼。 不然沒給你的,你可能就要自己刻出來。若要找別人刻出來的也要注意, 可能react-native一改版就不相容了。 還有要知道react-native的runtime是JS,不是NodeJS, 所以很抱歉就算NodeJS libraries學得很棒,但在react-native不一定能用囧 我覺得寫這種跨平台app的最大成就感是寫出一個平台後, 另一個平台如果只要改個幾行就做出來是很有快感的。 react-redux的使用時機個人本來也不太懂, 但忽然想起之前寫的app也是用相同概念就通了。 redux把binding data統一放在一個store。 好處是較不會有同一筆資料被copy到多個views, 然後要處理多個copies的同步問題,雖然redux好處不止如此而已... redux的store (data), action + reducer (logic) 相當於MVVM的model(data + logic), 而react則相當於binder, view model與view。 有些概念初學時不好懂,一旦寫code發現有此需求後就容易瞭解。 CodePush的話,好處就是能即時推送JS code給使用者,減少app改版上架的審查時間。 不過Android app第一次上架之後的上架審查超快,感覺速度跟CodePush沒兩樣了XD -- 楞嚴咒(附注音): http://1drv.ms/1c0YbNt -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.73.148 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1493338842.A.118.html ※ 編輯: zxvc (140.115.73.148), 04/28/2017 08:21:35

04/30 14:32, , 1F
同一個codebase當然不可能 做過幾個產品的經驗 大概80%以上
04/30 14:32, 1F

04/30 14:32, , 2F
可以重複使用,特別是在界面的部分
04/30 14:32, 2F

05/05 08:44, , 3F
推一個謝謝分享
05/05 08:44, 3F
文章代碼(AID): #1P0ehQ4O (Ajax)
文章代碼(AID): #1P0ehQ4O (Ajax)