In this vlog we take a brief look as to why Airbnb have moved away from using React Native for the development of its apps after using it for over two years!
Full video transcript
So Airbnb have ditched react native and this is a big deal. They were one of the biggest players using it (in addition to Facebook who are the custodians and developers of React Native).
And this brings to the fore the age old question - how should you code your app?
You choices are effectively three and fold
Develop natively using the tools provided by Apple, Google and Microsoft
Develop using write once, deploy anywhere tools - such as React Native or Xamarin.
Develop using write once deploy anywhere using Hybrid tools such as Ionic or Phonegap
Hybrid app development uses web-tech produces apps which mimic native behaviour - it is not native, just pretending to be.
Typically this creates apps with poor UX - We don’t do it because we want our apps to stand toe to toe with other native apps and web and hybrid apps fall woefully short.
The pros of using toolsets such as React Native is that you get to code once, deploy everywhere, natively. No web tech in sight.
And there will be areas in the project where you will make really awesome gains because of this approach.
However you will still need developers that understand the idiosyncrasies of the different platforms and usually this understanding comes from purely native development experience using Xcode or Android Studio. Do you can’t just use a web developer
Ultimately your whole app will probably not be React Native, large swathes of Airbnb and Facebook are in fact native - built once for each platform.
You will also need to build what's known as ‘bridges’ to translate the React code into native code.
You can build these yourself (but they can be very complex and take a long time to build) or you can use third party bridges.
One of the issues Airbnb quote was these third-party bridges were usually written by an Android or and iOS expert and therefore didn't necessarily work well for both platforms..
You will also end up maintaining more than one codebase. Which is why people use these tools in the first place, they're trying to avoid this!
The addition of the layer of this other toolset will absolutely cause issues during development and testing, it is another area where things can go wrong a break, cost money and you will be chasing your tail trying to fix it...
It’s a combination of all these issues which has caused Airbnb to bin react and move forward with truly native development.
We have found native development, when you take all the other challenges in to account, does not cost that much more, and produces much better products which are far easier to maintain.
Our vote is and always has been for native - Airbnb have confirmed this by their announcement and we would encourage you to think carefully about you tech choice early so you don’t regret it at a later date.
If you want to shoot the breeze or argue with me about this, then get in touch!
Thanks for watching :)