A huge transformation to React Native in Coinbase

Native applications are one of the two ways to create mobile solutions. At first glance, native and hybrid products are very similar, but they differ in technology. First of them are characterized by the fact, that they are coded separately for each platform (Android & iOS) on which they are to be used, the second - they are a combination of mobile and web elements, thanks to which it is possible to quickly create products for different platforms.

A huge transformation to React Native in Coinbase

For some time, it has been considered, whether React Native is still a leader in the category of the most frequently chosen frameworks, after a few years from the premiere. Awareness of its advantages and disadvantages has increased significantly through the development of community insights exchanging.

The rightness of its high position in the ranking has been recently confirmed by one of the largest and most frequently chosen cryptocurrency exchange platforms in the world - Coinbase . The American company, that operates this application, recently announced a successful transition to fully based on React Native solutions, in the sense of rewriting all existing functionalities from scratch, using this technology. In case of such an extensive platform, serving over 56 million users worldwide and operating in the high-risk industry, there is no room for performance degradation or feature regressions with serious consequences. Coinbase's decision to refactor and switch to React Native had to be carefully considered and supported by numerous tests to verify its reliability .

At Software Bay, we constantly follow the latest trends and observe the most interesting insights from the industry. So to offer our clients better and better solutions, we have checked, how the process looked like and whether it is universal for everyone, who has contact with mobile solutions.

Is React Native worth using?

React Native was released as an open-source framework in 2015 and has been used by the world's largest companies ever since they learned about it. Why? It allows creating native mobile applications for both Android and iOS systems. This is possible, thanks to the structure of the technology, based on 3 parts: the main thread, JavaScript thread and the "bridge", which is used for communication between the above-mentioned. This publication became a breakthrough moment in terms of creating mobile applications . So far, to create products for devices with Android and iOS systems, two teams specialized in their fields were needed. Thanks to RN, it is possible to build both platforms at the same time, having only one team of specialists, writing a logical layer in one code base - in JavaScript. In this way, the separate, platform-oriented teams, were replaced with one, focused on the entire shape of the product.

An undoubted advantage of this technology is also the agile methodology of creation and implementation. The "fast fresh" function allows to dynamically refresh the local version with each save in just a few seconds. Also, the change of the control in the code after saving, is immediately visible in the simulator. Typically, for native applications, seeing a change requires a full recompilation which extends the entire process.

By using React Native , we not only save valuable time, but also resources. A company, that creates an application for both iOS and Android in a native form, must hire at least two expensive experts for this purpose, and people supporting the project. When problems arise on one platform, they cannot be resolved with the support of the team developing a solution for the other. In this model of action, developers belong to two separate teams, operating in entirely different technologies and languages. In case of React Native, all you need is one team of well-coordinated people , who can work on any place in the application, both iOS and Android - which was also emphasized by the developers from Coinbase .

Of course, no solutions are perfect. In some cases, it may turn out that specific requirements, related to the application, must be made separately, considering system differences and the fact, that not all device functionalities are available from the framework position. Under such circumstances, natively written modules are being added, and then they are used by React Native. All of that depends on the needs and functionalities of the application. We've encountered a lack of such needs many times before, but when there is any interconnection with independent hardware devices, it can be helpful.

What does the Coinbase say about the transfer process?

As the people responsible for the transformation admit, the key areas of the process were testing and accurate analysis of the results, obtained to be able to successfully transfer more and more complex functionalities. All the introduced changes were not only aimed at improving the internal efficiency of the team, but also had to ensure better performance and quality from the customer's perspective. The size of the native codebases included the re-implementation of more than 200 screens , most of which contained relevant data, affecting the logic of the platform. Due to this, it was decided to start gradually, with the ranges of the lowest risk. This strategy was defined by Coinbase in 3 steps:

  • exploring the environment from scratch; launching preliminary actions and evaluating the results,
  • planning activities and forecasting effects for the main elements of the product, based on knowledge obtained in the base environment,
  • developing of complete changes for both environments and fully implementation.

As a result of the strategy’s implementation, the application was re-released after 6 months of work , achieving visible business results. Thanks to that, it was decided to rewrite the existing onboarding flows too. It took the same time and also brought satisfactory results. Thanks to the React Native , the application’s logic, could be shared between Coinbase and Pro applications. Since introducing the application in the new form, its ratings among users have also increased.

It cannot be overlooked, that the process consisted of training current engineers, while continuing to create new features and retire previous versions of applications. The result of the training is a more versatile and efficient team, that can create cross-platform solutions faster, in smaller groups. If the solutions were based on React Native from the beginning, time-consuming training would not be needed.

Based on the experience of Coinbase and Airbnb (which also shared their observations on this type of transformation), it is indicated that it is worth considering, whether the seemingly attractive model of modular migration is not too risky. However, all of it depends on the complexity of the application data, its requirements and the specifics of the industry. It is also recommended to pay attention to the fact that React Native is constantly being developed, e.g. in terms of efficiency and communication between development teams.

What about React Native thinks Mateusz Oracz, CEO of Software Bay?

” At Software Bay, we’ve focused on activities based on React Native a long time ago. We participate in the building process of many startups, whose entire development team is located with us. Therefore, when creating a web and mobile solution for one company at the same time, we focus on the one technology for both of them - React Native apps .

As a result, when a startup begins to grow and needs to increase its resources, it does so by hiring only React & React Native developers , who can smoothly transition from web to mobile - in terms of needs, experience and skills. For native solutions, it would be necessary to create at least three development teams (web, iOS, android and backend), instead of just React and backend. Of course, React and React Native are different technologies, but the threshold for a Frontend developer to enter the mobile world is much lower, for example because of the same syntax.

In many collaborations with our clients, we are appreciated for the fact, that we are able to implement the product in a much faster time and budget than other companies. It is caused by flexibility of our developers and our ability to create applications for all the above-mentioned platforms, with the involvement of only a few specialists.

I am so glad that the giants are successively seeing the potential of the hybrid solution, which we have noticed a long time ago. Facebook, Tesla, AirBnB, and Coinbase are global companies, that create not only trends in technology, but also affecting on the comfort and everyday life of each of us. They are also paving the way for others, who want to make bold changes ”.

Looking for React or React Native talents?

Need help? Our team will help you straight away.