Part of the TechLab_Report19

Back to overview

React Native

2018 was the year React Native first became a viable option for many organisations – the year when the question changed from 'Why?' to 'Why not?'.

At first, React Native was 'simply' a platform for building native-feeling applications with native UI widgets, but in JavaScript and using React – a widely adopted, declarative UI library that many web developers have become big fans of in recent years. Over time, the number of target platforms has grown. In addition to iOS and Android, we can now target Apple TV, VR, and even Windows applications, Xbox, and – interestingly – web. The web version of React Native is an entirely different beast from the original web version of React and is much closer to React Native in the building blocks it uses, which makes components portable across the React Native target platforms.

For many organisations, apart from managing increased expectations from consumers, increasing the number of platforms can result in increased adoption due to the wider audience now able to access the application. The ability to target multiple platforms has made React Native an ever-more compelling strategic choice for user interface.

Combine this with the sharing of component libraries across teams utilising other tools in the React ecosystem, such as Storybook, and the era of platform agnostic UI development and design systems is here. On a recent client project, we saw around 80% code reuse whilst targeting three platforms – iOS, Android, and web with React Native Web. After an initial setup period, speed of delivery increased significantly.

Fundamental to its success, React Native has a vibrant community of contributors and companies moving it forward, including tech giants such as Facebook and Microsoft. Given this plus the fact that the underlying technology is React – a battle-hardened and widely-used library – stakeholders can feel warm inside knowing that there’s a considerable ongoing investment, reducing the risk of a technological dead end.

While React Native is a strong proposition, there are a number of considerations you must take into account, especially if you have existing native development teams in place. Given the unfortunate tribal nature of software development, it’s important to take care to integrate these groups without friction. You can be sure that a few toes will be trodden on until the dynamic is established. The experience of Airbnb, which stopped using React Native, is an interesting case study showing it’s not necessarily a solution for everybody.

Back to overview
Enjoyed our report? Sign up now to our upcoming event on May 16th - “Moving at light speed with continuous delivery”