Quick thoughts on Airbnb sunsetting React Native
Last week, Airbnb released a series of blog posts detailing their experiences with React Native that ultimately led to their decision to sunset their development of native applications with it.
I'm not going to even attempt to delve into who is right or wrong in this scenario. There's a fair amount of posturing going on right now and quite candidly, I don't know if my opinions are well formed enough on the matter to lean one way over the other. I do have some thoughts on the matter though:
Give credit where credit's due
The fact that Airbnb felt comfortable enough putting all of that information out there, fully knowing what sort of "firestorm" it'd create has to recognized. It's an age old habit of programmers to argue implementation philosphy and that's never going to change. I know I've run into various scenarios where I just kept my mouth shut instead of having to argue the same points over and over regarding a technological decision. It gets tiring.
Airbnb could have simply made the change internally and moved on with its business, but felt the need to keep the community involved. They knew what they'd recieved throghout the years from the open source community meant they owed everyone else transparency when it came to this decision.
Cross-platform development isn't new
React Native is not the first attempt at a solution to the developer holy grail of "code once, deploy on many platforms". It just so happens to be one of the latest (but no longer the newest) that also has a huge ecosystem of burgeoning developers to feed into its interest and continued development. It helps that it has one of the largest technology companies in the world backing most of its development.
Investing in a newer platform as the future of your business means you have to be extra sure it'll work for you in the long run. Of course there are apps out there built (and being built) with Rubymotion, Phonegap, Cordova, Xamarin, etc. There's nothing inherently wrong with that, but once you go down that route, you are basically stuck there and moving away means starting over.
A net positive
Eating the cost of having to sunset a technology is never easy, but I think it's fair to say Airbnb's engineering platforms and teams have grown because of the work that they've put into making React Native work.
Working in newer tech means you really have to own a lot more of the entire process: bug reporting, enhancement and roadmap requests and just general splelunking through the source code when things just don't work. In the end, the engineers who had to work on all of that are better off because of it.
Would they have had the same experiences and growth had they not gone that route? Probably, as Swift has really progressed even further over the past two years, especially after having gone open source. But, it's near impossible to know how much.
I'm really happy Airbnb wrote out all of that information and more people are talking about it. They're the right conversations to be having as native development continues to mature.