Earlier quoted context omitted.
RN used to have a lot of issues years ago (~2015-2016 or so) with different layout rendering between iOS and Android. Since they re-wrote their layout engine to be the same codebase across Android and iOS this has been 99% fixed in my experience. You might very occasionally run into a difference of some sort but it will most likely be minor. Of course, I would say if you've never done a RN project before and you plan…
none of the issues i described are different now. RN on iOS still uses JavaScriptCore by default, Android uses Hermes, and it still uses V8 if debugging, meaning it's possible you'll have some super weird edge case bugs. in Airbnb's situation i believe they said it was almost impossible to pinpoint the issue due to the differences in these engines. it's unlikely, but still an unavoidable thing that could be a serious…
Transition to React Native
61–70 of 221 posts
Re: Transition to React Native
#62> the average mobile engineer’s velocity remained stagnant
> this could dramatically reduce our overall staffing requirements...also have to deliver improved quality and performance for our customers
Honestly it sounds like Coinbase is quickly turning into a shitty place to work. Sounds like all the ingredients for a race to bottom in culture. It's so easy to tell that this was cooked up by primarily non-technical management types whose only actual "first-principle" is penny pinching.
Obviously you can get work done faster across multiple platforms on a per-engineer basis if you use a single technology. The cost of that speed is quality to the end user, and being in a perpetual state of "1 step behind" the capabilities of native app development. There will be regular instances of shoehorning in functionality as each underlying platform makes updates to their respective operating system. The unforeseen issues are that their engineering department will eventually turn into a technology echo-chamber...and this close-mindedness in regards to technology will likely lead to losing out on top engineering talent.
Also, expecting ever-increasing velocity for each employee is insane. (not to the penny pinching execs tho) There's a finite amount of time and mental energy a human has each week. It's one thing to say you want to build software that can accommodate massive business growth...but it's another thing entirely to represent that by measuring rate of acceleration of velocity per engineer. That in and of itself isn't scalable.
Re: Transition to React Native
#63Many comments here are comparing this transition to the one Airbnb did a few years back. These two transitions could not be more different. Coinbase decided to greenfield their new apps, Airbnb (attempted) to brownfield it. I've worked with a number of clients that have gone down the same path that Airbnb did, from a business perspective it makes perfect sense, keep what you have and slowly move over, but the technic…
The way I see it: in the early days of the web, JavaScript was very slow and browsers were operating on weak CPUs. But there was a turning point and suddenly JavaScript was now fast enough and Web 2.0 was born.
A similar thing is happening with React Native. It is kind of slow on older phones, and it felt very kludgy when it was first released. But things have gotten better and most important of all: phones have gotten substantially faster.
You still have to learn how to make high performance React Native apps, compared to React in the browser where it’s more forgiving. But this is no different than native. So I think there is reason to believe it has gotten to a point where this could be a long term decision.
Re: Transition to React Native
#64Re: Transition to React Native
#65Re: Transition to React Native
#66Earlier quoted context omitted.
none of the issues i described are different now. RN on iOS still uses JavaScriptCore by default, Android uses Hermes, and it still uses V8 if debugging, meaning it's possible you'll have some super weird edge case bugs. in Airbnb's situation i believe they said it was almost impossible to pinpoint the issue due to the differences in these engines. it's unlikely, but still an unavoidable thing that could be a serious…
I've done and ran 2 medium sized apps on both iOS and Android and have never ran into such problems. While not impossible, that's akin to saying that if you run the JVM on MacOS vs Linux, there's a chance of different behavior. Possible, but unlikely. It shouldn't be a show-stopper for most situation.
Re: Transition to React Native
#67Earlier quoted context omitted.
If at all possible, I can't recommend Expo enough. I hated building RN apps prior to it, and now I hate building apps without it.
Isn't the apk size much larger if you use Expo? Or is that not the case anymore?
Re: Transition to React Native
#68How does the app perform now?
https://miro.medium.com/max/7200/0*L6GxhXWiTckqwMYL
Ratings and some perf metrics(start time) improved, no regressions.
Re: Transition to React Native
#69Many comments here are comparing this transition to the one Airbnb did a few years back. These two transitions could not be more different. Coinbase decided to greenfield their new apps, Airbnb (attempted) to brownfield it. I've worked with a number of clients that have gone down the same path that Airbnb did, from a business perspective it makes perfect sense, keep what you have and slowly move over, but the technic…
What a trope that AirBnB story has become. They mixed their gigantic native codebase with React Native code. Mixing native and React Native = bad. Doing pure React Native (for everything but ultra high-performance and apps that interact tightly with hardware) = good.
I feel like all those takes completely misunderstood or ignored Airbnb’s technical constraints and the underlying reasons.
Anyone blamed it on the library. Not the dumpster fire implementation that ultimately killed the venture
Re: Transition to React Native
#70I'm skeptical of most "we switched from X to Y" posts, but the thought process here seems pretty solid. * They had a much harder time hiring mobile developers than web developers, and per-person productivity was also lower * They prototyped an app before committing to a new technology * Similarly, they tested a change to the existing app before switching * They specifically invested time to cross-train people, and te…
It's not hard at all to find mobile devs, just offer more money. Mobile devs cost more, that's right.
But I think that's because mobile development is significantly harder (personal first-hand experience).