Discussed in this thread 2 days ago:<p><a href="https://news.ycombinator.com/item?id=17348215" rel="nofollow">https://news.ycombinator.com/item?id=17348215</a>
Doing a hybrid app in the way that the articles describe sounds like a recipe for tremendous complexity.<p>One line in one of the linked articles that really struck me was <i>"Often times, it is not clear whether code should be written in native or React Native. Naturally, an engineer will often choose the platform that they are more comfortable which can lead to unideal code."</i><p>Without a top down vision of the proper role for React Native vs native code, how could anyone possibly expect things to go well?<p>Even within React Native there are a lot of existing "boundaries" where native code is used in a way that allows the general contracts adopted by React to be used without worrying much about the implementation details.<p>The quote above suggests that Airbnb expected a cohesive and sensible approach to emerge, when clearly there were (as the articles mention) many developers who were strongly opposed to React Native from the beginning.<p>While it's not necessarily the case, it seems that if there was debate about where "models" should live, there was really a need for a CTO to simply make that call and allow the rest of the team to coordinate around the tradeoffs associated with the decision. Without that, the battle will be fought with every pull request and other social and organizational factors (like bro culture, intimidation, etc.) will dominate over the technical merits of the decision.<p>I love Airbnb, and use the app extensively both as a host and as a traveler. It's not clear why it ever seemed sensible to go down a "hybrid" path. The app has pictures, scrolling listings, and photo views. I'd be curious to read an article that discussed very frankly the decision to go hybrid and where the lines were drawn that turned out to be problematic.
I thought it was pretty amazing how much they hype up designing. Airbnb uses a CI workflow where they can practically draw a shape on a piece of paper and create a React component out of it. At least that is what I took away from their design bloggings. What I found truly amazing is that there were no instructions to set up their environment for my own product. What a waste of energy. Every marketing site and app I write has some part of utility for other applications. This is not the case with Airbnb.
AirBnb app was one of the primary examples of large organizations using React Native. They are simply saying they are sunsetting their React Native app.