React Native vs. NativeScript: A Cross-Platform Viability Analysis
By: Ethan Campbell
Since it is possible that the State of JS team set up a booth at a React Native conference for polling or that the Russians tampered with the results, we felt that we should get a second opinion. For this, we turned to Google Trends to see how much “noise” each platform is making on the web.
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.
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 and while they had regularly been pushing major monthly releases, they seemed to have stopped all together in October 2017 (as of mid-Feb 2018).
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. It’s 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 Aptera, we consider ourselves to be cross-platform agnostic. Our mobile technologists currently write apps using NativeScript, React Native, and Xamarin, in addition to native platform development as the circumstances dictate. There is no echo-chamber which tells us which tools are the best because in our experience there is no “best” tool per se. However, there are many factors which can help determine the platform that will deliver the most value for a given project. Platform viability is one of these factors which can greatly impact support costs for the app beyond the initial development. A wise man once said that the true cost of software is in the maintenance, so selecting a toolset is crucial to the ongoing business success of your app.
Do you need assistance weighing platform viability against its features and benefits? Feel free to reach out to Aptera for a Mobile Platform Evaluation today!
About Ethan Campbell
Ethan is a Sr Software Engineer for Aptera Software, specializing in mobile technologies. He has been developing enterprise solutions since 2000. As an avid mobile development enthusiast, he loves to study new mobile technologies, languages and industry trends.