
Ask HN: React Native or iOS Native and responsive web app? - morcutt
For those of you that have gone the React Native route…<p>- Would you do it over again?<p>- Did your team ever rewrite or wish they went native initially?<p>- What stage is your product at?<p>- What was the decision to go React Native?<p>I am researching which route to take a new product in. The proposed initial option is React Native or Swift, responsive SPA, and down the road Android. Most of my work has been with iOS native but I have spent a lot of time in the web world lately. My initial reaction for React Native is, it is great in the beginning but can cost companies a lot of money and time in the long run (as seen by Airbnb, Udacity, and NextDoor.) Though some big orgs do use it successfully here and there (Pinterest, Facebook, Instagram) throughout their apps.
======
htormey
“ -Would you do it over again?”

It depends. I’m a native iOS engineer whos spent a bunch of time doing React
native development. I’ve worked on multiple React Native projects that have
shipped.

If I was creating a new app from scratch I would hands down use React Native
for most projects.

If I was working on an existing native project, (native iOS/Android code
base), I probably wouldn’t use React Native.

“Did your team ever rewrite or wish they went native initially? ”

It really depends. 95% of the people using React Native are web engineers and
React Native is their first experience doing mobile. Those people don’t regret
using React Native.

The people who I’ve worked with or encountered who did regret using React
Native are people who’ve used it within an existing native app. These people
are usually native engineers with little prior exposure to React or
Javascript. I have also done brownfield React Native and I can understand why
they would have this perspective.

“- What was the decision to go React Native”

Productivity and cost. It takes a lot less time to ship a cross platform React
Native app than to build it twice in kotlin/swift. If you do
consulting/contracting work or you are an early stage startup on a budget
React Native is a no brainer for most projects. Multimedia projects or games
being notable exceptions.

“My initial reaction for React Native is, it is great in the beginning but can
cost companies a lot of money and time in the long run (as seen by Airbnb,
Udacity, and NextDoor.) Though some big orgs do use it successfully here and
there (Pinterest, Facebook, Instagram) throughout their apps.”

All of those organizations have large engineering teams and are doing
brownfield (integrating React Native into an existing project) apps. That is
most likely not what you are doing.

Brownfield React Native is about 2-3x as hard as building a new app from
scratch. I gave a presentation explaining why this is the case earlier in the
year at chain React:

[https://youtu.be/44YdvFAwQwA](https://youtu.be/44YdvFAwQwA)

~~~
morcutt
Thanks for the thorough response. This is very helpful. The tech team doesn't
exist yet so this would be from scratch.

It is a startup (with a decent size seed round.)

Do you ever run into bugs/crashes that are way harder to resolve with React
Native?

~~~
htormey
Bugs yes, crashes no. If you go with React Native research how to include the
JavaScript stacktrace when submitting a crash report to crashlytics etc. It
will make tracing things easier.

A big problem with React Native is upgrading versions and third party
libraries. This is the biggest pain point for most people I work with. Things
break regularly and you have to be very careful with regard to reading release
notes and testing.

