Principal Software Engineer at Tophatter·

As a Engineering Manager & Director at SmartZip, I had a mix of front-end, back-end, #mobile engineers reporting to me.

Sprints after sprints, I noticed some inefficiencies on the MobileDev side. People working multiple sprints in a row on their Xcode / Objective-C codebase while some others were working on Android Studio. After which, QA & Product ensured both applications were in sync, on a UI/UX standpoint, creating addional work, which also happened to be extremely costly.

Our resources being so limited, my role was to stop this bleeding and keep my team productive and their time, valuable.

After some analysis, discussions, proof of concepts... etc. We decided to move to a single codebase using React Native so our velocity would increase.

After some initial investment, our initial assumptions were confirmed and we indeed started to ship features a lot faster than ever before. Also, our engineers found a way to perform this upgrade incrementally, so the initial platform-specific codebase wouldn't have to entirely be rewritten at once but only gradually and at will.

Feedback around React Native was very positive. And I doubt - for the kind of application we had - no one would want to go back to two or more code bases. Our application was still as Native as it gets. And no feature or device capability was compromised.

READ LESS
8 upvotes·8 comments·447.6K views
Peter Suwara
Peter Suwara
·
February 28th 2019 at 8:10AM

Generally speaking, on larger apps, React Native become unmanageable. I would be interested in hearing what kind of apps you are building. My enterprise apps collapsed when the the view structure become complex. Things like managing data and transports become convoluted and hard to follow.

We had much better results with Native and Rx. RxSwift has been a good way to bind our model to views. React Native became extremely difficult to maintain and was constantly changing and shifting, there was little stability, we dropped it and our performance improved as did morale, with less bugs and faster time to fix bugs.

·
Reply
Julien DeFrance
Julien DeFrance
·
February 28th 2019 at 3:12PM

We used React Native for a CRM-like type of application. Our users (real estate agents) paginating though contact records, editing their information, logging activities, taking pictures, visualizing them on a map, etc. Also, accessing their dashboards while on the go.

https://itunes.apple.com/us/app/smartzip-checkin-app/id988589730?mt=8

·
Reply
Julien DeFrance
Julien DeFrance
·
February 28th 2019 at 3:15PM

Some relatively large apps/customers are actually using #ReactNative :

https://facebook.github.io/react-native/

·
Reply
Ishan Fernando
Ishan Fernando
·
March 4th 2019 at 4:04AM

Isn't increase the app size? Or Does it same as a native app size?

·
Reply
Julien DeFrance
Julien DeFrance
·
March 4th 2019 at 4:57AM

I can't recall that part, however here's an article I found on the topic: https://medium.com/@aswinmohanme/how-i-reduced-the-size-of-my-react-native-app-by-86-27be72bba640

·
Reply
Avatar of Julien DeFrance

Julien DeFrance

Principal Software Engineer at Tophatter