[分享] react-native做的開原app
本人用潮潮的(!?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
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
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章