5 ms·
Native iOS developer (worked at Facebook/Apple) who's currently doing a bunch of contracting at the moment. I think React Native is great. I think the biggest
by htormey 10y ago
Native iOS developer (worked at Facebook/Apple) who's currently doing a bunch of contracting at the moment. I think React Native is great.
I think the biggest pros of react native are:
1) Not having to compile to see UI/Business logic changes (Swift compiler is slow).
2) The ability to push changes over the air after you switch.
3) Large parts of your app just work cross platform with minimal changes (I've shipped two iOS/Android apps).
4) If you have a react web team, they can now review and help out with your mobile apps.
5) It's easy to keep product in synch across multiple platforms (i.e android/iOS release at the same time).
I think the big cons are:
1) It's Javascript.. ES6 + babel makes this a lot less terrible than it was in the days of web apps wrapped as native apps but it's still Javascript.
2) If you have to do long running background tasks (network polling, bluetooth, music, location, etc) you basically have to do it in native code. This can be a big architectural pain in the ass depending on what your app does.
3) Ramp up time. Learning about React and all the third party libraries (Redux, etc) you will need to be productive takes time.
4) Cross platform testing. I.e if you share code with your web/android engineers, they will need to be disciplined about not breaking things (npm and versioned shared libraries helps with this).
5) Third party library quality in Javascript land can vary a lot. This requires you spend quite a bit of time vetting them.
If your based in the Bay Area I'm going to be giving a talk on on some of this in March.
- stickperson 10y agoI'd be interested in attending the talk. Have any more info?
- htormey 10y agoSure, it's at Pinterest on March 7th : https://www.meetup.com/Real-World-React/events/236140965/ https://www.meetup.com/Real-World-React/events/236140965/
- afro88 10y agoWill you guys be recording it? Would love to check it out
- brilliantcode 10y agowould love to see a video recording of this, I think is super valuable.
- htormey 10y agoI'm not sure if the organizers record their talks but if they do I will post a link here. Failing that I plan on writing some blog posts about my experiences with react native.
- brilliantcode 10y agoI'll definitely read the blog post, do give me a shout and you got my upvote.
- bschwindHN 10y agoRegarding con #1, ClojureScript is a good language to try with React Native. I'm still exploring it myself, but so far it's been a great experience. You can get a lot ton with so few lines of code while still retaining readability and ease of code modification. https://github.com/drapanjanas/re-natal https://github.com/drapanjanas/re-natal
- solidr53 10y agoFor no #2 , have tested https://github.com/devfd/react-native-workers https://github.com/devfd/react-native-workers ? it works pretty well, but havent done anything other than syncing and notification pushing. other API s should work
- andybak 10y agoSadly looks moribund: https://github.com/devfd/react-native-workers/issues/23 https://github.com/devfd/react-native-workers/issues/23 EDIT - this fork looks like a good bet: https://github.com/ZhijieWang/react-native-workers https://github.com/ZhijieWang/react-native-workers
- htormey 10y agoFrom the lifecycle section of the repo: "the workers are paused when the app enters in the background the workers are resumed once the app is running in the foreground" This won't work when your app is backgrounded or if the screen is locked.