DEV Community

Colin Simpson
Colin Simpson

Posted on

React Native VS Native Development: Performance Experiment

This post aims to compare React Native to other forms of native development and investigate the differences. This experiment shows the memory usage of two different programming languages, Swift and React Native (see Figure). The purpose of the experiment was to discover which was the more memory efficient coding language and the tests were conducted with applications that looked and functioned identically.

Reactnative vs Swift: Memory usage

Within the first three views of the application, the difference between the two coding languages was of a minimum percentage that would not be noticeable by a user. However, when moving onto the high memory demanding view of the Maps it was clear that React-Native outshone Swift by using 61MB less memory than Swift.

React-Native has shown to be able to outperform Swift when it comes to memory usage with demanding processes as seen in Figure. The tests were performed in a fair manner with repeated results provided and the average has been represented as on the bar chart in Figure. This is a surprising discovery as it shows that a widely used programming language such as JavaScript can be used to develop efficient applications for mobile devices that can even outperform native coding languages.

Disadvantages of React Native

Although React Native has many benefits to it, the framework is not without its shortcomings. The framework contains clear flaws that can make React Native difficult for some developers to use. Firstly, there is currently only a small amount of documentation available for the framework, with the majority of it being provided by Facebook via the framework’s release notes.

Another issue that React Native has is that the tool is always adapting and changing to newer versions meaning that it is a high maintenance framework. A developer must be ensuring that they are able to know how to use a current version of React Native that is required. Many companies like app development in San Diego keep their developers updated with latest releases.

When writing a React Native application it is not always truly cross-platform as the same application cannot make use of both native functionalities and act as a standalone web application simultaneously. React also has a steep learning curve to it, with it being structured and written differently to a usual HTML and JavaScript web application. This learning curve may hinder the production of the application.

As React Native is able to utilize native components and functionality, in order to use it to its full potential, a developer must have pre-existing knowledge of native development on that platform. However, these disadvantages are all able to overcome by a developer who is committed to the application that they are developing.

Top comments (0)