May 29, 2018

React Native vs. NativeScript: A Cross-Platform Viability Analysis

The debate over whether NativeScript or React Native is the better mobile cross-platform tool is always a spirited one. Both support much of the native iOS and Android APIs and allow for the import of popular and effective JavaScript libraries like moment.js and underscore. Both allow code reuse between web and mobile through their frameworks (React and Angular). Both are able to leverage third-party native libraries, have similar app performance, options for test-driven development (TDD) and automated UI testing, continuous integration, and so on. However, there is one more aspect that should be considered when picking a platform which has nothing to do with capabilities, code reuse, or even the level of developer comfort. Let’s take a closer look at the platform viability of both NativeScript and React Native.

Platform Noise

Our first stop in this analysis is to see what the web has to say about NativeScript and React Native usage. One resource we use is the State of JavaScript yearly poll of over 20,000 developers which gauges their experience and interest in JavaScript-related technologies. In their mobile technology survey last year, we noticed the completely contrasting difference in responses for NativeScript and React Native. From the graph below you can see that 50% of the respondents had never heard of NativeScript, and roughly only 25% were interested in trying it out or using it. React Native, on the other hand, had a very warm response with almost 90% of responses indicating a desire to use it again or for the first time.

js-poll-results

Since it is possible that the State of JS team set up a booth at a React Native conference for polling or some other factor impacted the results, we decided to get a second opinion. For this, we turned to Google Trends to see how much “noise” each platform is making on the web.

google-trends-data

Platform Usage

Clearly one platform is generating far more noise than the other. How can we separate those researching and marketing the platform to those actually using the different technologies? Our friends at npm-stat.com make this determination quite simple by querying NPM on our behalf. The below stat displays the number of downloads of the “nativescript” and “react-native” libraries which clearly indicate both are growing in usage, but developers are increasingly voting in favor React Native.


downloads-per-month

Possible Reasons

The cause behind these adoption figures isn’t entirely clear but please allow us a bit of conjecture. First, we believe the success of React Native and the struggles of NativeScript are largely influenced by the success of the React library in general. Since being introduced in 2013, React’s functional component model and unidirectional data flow have proven more powerful and lightweight than their Angular counterparts, driving higher adoption rates for React.

Secondly, it’s also possible that Angular 2’s introduction superseding AngularJS with a laborious migration path left many development teams feeling burned. Telerik, a primary champion of NativeScript, has also been accused of leaving developers hanging out to dry, most notably with halting new development of their eCommerce platform last year and retiring their Telerik Platform suite this year. To this point, we do find it concerning that while the React Native has 1,600 contributors pushing major releases monthly, NativeScript only has 101. While they had regularly been pushing major monthly releases, they seemed to have stopped all together in October 2017 (as of mid-Feb 2018).

Conclusion

So, the conclusion is easy, right? NativeScript is the “Windows Phone” of cross platform tools and is doomed to a long and slow death. Therefore, use React Native, right? The data sure seems to indicate that React Native has the developers, the adoption, and momentum to be the dominant cross-platform mobile development tool for the foreseeable future. But it’s not all doom and gloom for NativeScript. As you saw in the NPM downloads chart above, NativeScript, while not growing as fast as React Native, is still growing in popularity. It’s also the de-facto tool for sharing components between mobile and the Angular 2 development community. Its recent efforts to integrate with Vue (a growing UI framework) may also be a bit of an x-factor which could enhance its future growth.

At Core, we like to be cross-platform agnostic. Our mobile technologists write apps using NativeScript, React Native, and Xamarin – in addition to native platform development as the circumstances dictate to deliver the most value for a client’s project. Platform viability is one of the factors we consider because it can greatly impact support costs for the app beyond the initial development. A wise saying is that “the true cost of software is in the maintenance”, so selecting the right toolset is crucial to the ongoing business success of your app.

Do you need assistance weighing platform viability against its features and benefits? We’d love to talk with you about what’s best for your business.

Subscribe to our Newsletter

Stay informed on the latest technology news and trends

Relevant Insights

The 6 Major Stages of a Successful Cloud Migration: A Walkthrough

As organizations attempt to stay ahead of an ever-evolving competitive landscape, IT is under mounting pressure from the business to...

Top 7 Highlights from Microsoft Ignite 2021

At Ignite 2021 conference this month, Microsoft unveiled new updates and features for the Microsoft 365 Platform tools including Teams,...

Does Your Security Licensing Match Your Security Posture?

The last thing you want to think about when dealing with IT security is licensing, but it can make a...
X