The idea of creating apps using only one paradigm for all platforms sounds a bit unreal. However, React Native, despite its immaturity, enables to accelerate the process of building apps across different platforms, thanks to the possibility of reusing most of the code between them. No wonder that many companies settle upon React Native for their mobile apps. Here is a list of those that have leveraged this framework in production.
React Native started as Facebook’s hackathon project developed in response to the company’s needs. Facebook wanted to bring all the benefits of web development - such as fast iterations and having a single team build the whole product - to mobile. That’s how React Native was brought to life and leveraged in mobile app development for both iOS and Android apps.
The dev team converted the Events Dashboard feature in the Facebook for iOS app to React Native to test app performance, such as startup time, which is crucial in this kind of applications. It is a significant part of the user’s first impression of the app and determines whether they will stay or leave. What they achieved was cutting time-to-market in half. Read about their journey with React Native here.
Skype has recently announced that it is testing a new Android app written in React Native. It’s a pretty good information for all the users, as the fairly well-designed app has suffered from numerous issues. The new version is totally revamped starting from the icons to the whole layout, adding a few extra neat features as well. As Microsoft has also announced, Skype Preview for iOS is already available in limited capacity through Apple’s TestFlight for Skype Insiders.
It's also worth noting that the GitHub repo with the React Native plugin for Universal Windows Platforms was recently moved to Microsoft. That means that not only can we expect Skype for iOS but also a desktop version which will be the first the big React Native project for Windows. This is a good sign for the platform. Very soon we might see RN working quite well on Windows too.
Numerous components developed alongside with the Facebook Ads app have been useful for other developers in building their apps.
Read more about the first fully React Native app from Facebook.
Instagram took the challenge to integrate React Native into their existing native app starting from the simplest view you can imagine: the Push Notifications view which was originally implemented as the WebView. It didn’t require building navigation infrastructure, as UI was quite simple.
The dev team at Instagram faced a few problems on the way, but they substantially improved developer velocity. 85% to 99% of code was shared between Android and iOS apps, depending on products, thus the team was able to deliver the app much faster than they would have with a native solution.
Read more at Instagram engineering blog.
Walmart aims really high, aspiring to become the world’s largest online retailer. With such big goals the company needs to take bold moves that involve higher risk in order to gain a competitive advantage. That’s why they always seek the ways to improve customer experience by trying new technologies. Walmart has already proved its innovative attitude introducing Node.js into their stack. A few years later they also rewrote their mobile app into React Native.
Walmart managed to improve performance of the app on both iOS and Android by using less resources and within shorter time span. 95% of the codebase was shared between platforms while skills and experience of developers were leveraged across the organization. React Native allowed for great performance, nearly identical to native apps, and extremely smooth animations.
Read more about their success story.
Airbnb has also integrated React Native into their mobile application. What they first noticed when working with the framework was that the cost of integration with existing native apps was high, but it paid off. React Native was very easy to start off, but some challenges popped up along the way. The major issue resulted from the fact that people new to React struggled with some concepts of status management in the context of a React app. The biggest advantage, on the other side, was the ability to reuse the code. Most components were extremely reusable. Moreover, React made the code very easy to refactor and iterate on.
Check out more about React Native implementation in Airbnb on this tech talk.
SoundCloud Pulse is an application for creators that helps them manage their accounts and keep their community humming. When the company started designing the second set of native apps, they faced a few obstacles. iOS developers were impossible to find and they didn’t want to have a huge gap between the iOS and Android releases. Therefore, an independent research team started to run user-testing sessions with React Native-based prototypes.
Despite a few weaknesses the team at SoundCloud spotted, their experience with the framework was generally positive. Developers found it easier to work on a React-based application than on a native application. Moreover, they were capable of building the application by themselves without frequent input from specialised mobile developers. Read more about their journey on their tech blog.
The dev team at Yeti Smart Home faced a similar problem as the guys at SoundCloud. They lacked iOS and Android developers, but they really wanted to start building native apps. That’s why they turned to React Native, a framework that seemed to be a better option than learning from scratch, to create good native experiences in Swift and Java separately. It wasn’t too easy at the beginning, as React Native was still a very immature landscape. Only with time and contribution of the growing Open Source community, the project moved forward faster and faster and then they could jump outside the mobile screen to design components that would control different devices. React Native, thanks to its modular construction, made it possible to reuse those “little bricks” to build each interface. Read more about their experience with React Native here.
Uber has recently shared their insights about leveraging React Native in engineering of their food delivery app. Unlike the standard Uber app, Uber Eats marketplace involves three parties: restaurants, delivery-partners and eaters. Such model required an extra dashboard for restaurants. The original Restaurant Dashboard was built for the web and it provided limited access to the native device functionalities, such as sound notifications which was a crucial problem for user experience. As the team had a great deal of experience using React but limited iOS/Android exposure they decided to rebuild the dashboard with RN. Although the framework constitutes only a small part of technology stack used in Uber Eats, developers are very positive about its possibilities and capacity that can help them meet needs as the marketplace grows.
Naturally, there are many more applications written in React Native and we can see that there is a growing space for the framework in the future of development. Despite its immaturity and faults it brings a wide range of possibilities. With a dynamic community growth and higher popularity, we can see many more React Native applications popping up in the near future.