StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. Cross Platform Mobile Development
  5. NativeScript vs React Native

NativeScript vs React Native

OverviewDecisionsComparisonAlternatives

Overview

NativeScript
NativeScript
Stacks533
Followers1.1K
Votes516
GitHub Stars25.3K
Forks1.7K
React Native
React Native
Stacks34.4K
Followers29.5K
Votes1.2K
GitHub Stars124.4K
Forks24.9K

NativeScript vs React Native: What are the differences?

# Introduction

1. **Platform Specific Components**: NativeScript allows developers to directly access platform-specific APIs and components using JavaScript code, enabling more fine-tuned control over the user interface, whereas React Native abstracts away platform-specific APIs and components, providing a more consistent development experience across different platforms.
  
2. **Language Support**: NativeScript supports TypeScript and Angular, making it a preferred choice for developers familiar with these technologies; whereas React Native primarily uses JavaScript and React, attracting developers who are well-versed in these languages and frameworks.
  
3. **Rendering Method**: NativeScript uses a JavaScript Virtual Machine to render native components, leading to better performance on devices; on the other hand, React Native utilizes a bridge to communicate between JavaScript and native components, which can sometimes introduce performance overhead.
  
4. **Animations**: React Native provides a more extensive library of built-in animations and transitions, enhancing the visual appeal of mobile applications; in contrast, NativeScript offers fewer out-of-the-box animations, necessitating more custom implementation for complex animations.
  
5. **Developer Tools**: React Native includes a comprehensive set of debugging tools, like the React Developer Tools extension for Chrome, streamlining the development process; NativeScript also provides debugging tools but may require additional configuration and setup for optimal usage.
  
6. **Community and Ecosystem**: React Native boasts a larger community and a rich ecosystem of third-party libraries and plugins, accelerating development time by leveraging existing solutions; NativeScript, while having its own community and ecosystem, may have a smaller pool of resources compared to React Native.

In Summary, NativeScript and React Native differ in their approach to platform-specific components, language support, rendering methods, animations, developer tools, and the size of their respective communities and ecosystems.

NativeScript or React Native - Help me decide

By Lee Sylvester

NativeScript and React Native are two very popular platforms for creating native mobile applications, for iOS and Android, using the powerful and ubiquitous JavaScript language. Beyond this, the power of these two platforms stem from their leverage of the leading JavaScript development frameworks; NativeScript utilises AngularJS and React Native is based on ReactJS.

Native API Support

One of the important benefits of using either platform is its exposure of the underlying native API. Having this ability increases the capabilities of the applications you write and will provide much greater power than simple web-apps displayed in an HTML view component.

NativeScript provides direct access to the native layer. By marshalling calls to and from your JavaScript. With NativeScript, there is no need to learn Objective-C or Java as your code is translated to and from the native layer, or third-party libraries, at runtime. One downside, however, is that the target platforms require distinct JavaScript API calls, as the API’s mimic the native counterparts. The following are examples of creating a button on both platforms

var button = new android.widget.Button(this);
button.setText("Hello World");

Creating a button on Android in NativeScript

var button = new UIButton();
button.setTitleForState('Hello World', UIControlStateNormal);
  • Creating a button on iOS in NativeScript*

Typically, React Native requires more involvement with native code than NativeScript. There are numerous modules available that perform native tasks which can make development easier, but any native interaction will require the development of a bridge in order for React Native to interact with native code.

UI Styling

Both NativeScript and React Native work with real, native UI controls. No “Web View” is used in either platform, which ensures your user interface is fast and will typically look and operate the same as applications written in native code. Creating your UI with NativeScript requires either building out your views and controls with API calls or by using the NativeScript UI XML schema, which is an XML based domain language specific to NativeScript.

import { Component } from "@angular/core";

@Component({
   selector: "my-app",
   template: "<Label text='hello world'></Label>"
})
export class AppComponent {}

NativeScript “Hello, World!” example

Since React Native is based on it’s web based cousin ReactJS, UI development in React Native is typically created using JSX, which looks and behaves much like browser based HTML. This means creating a UI in React Native provides a lower level of entry for web developers.

import React, { Component } from 'react';
import { Text, View } from 'react-native';

export default class HelloWorldApp extends Component {
  render() {
    return (
      <View>
        <Text>Hello world!</Text>
      </View>
    );
  }
}

React Native “Hello, World!” example

Applying styles in both NativeScript and React Native is performed using a large subset of CSS (Cascading Style Sheets). Each CSS style can be applied globally within your application, specific to a give page / view or inlined with a specific component. Styles can also be added programmatically at run time.

Third-Party Libraries

Both NativeScript and React Native can utilise pure JavaScript and TypeScript libraries that do not call browser API functions. NodeJS libraries are particularly useful in this regard. Due to its relationship to ReactJS, React Native does provide syntactically alternative DOM (Document Object Model) manipulation out-of-the-box, while NativeScript can also do this with the help of third party libraries.

Aside from the plethora of NPM libraries available for use with both platforms, there are also platform specific libraries available. NativeScript provides it’s own marketplace with over 900 libraries at the time of publishing, which Native Directory hosts over 350 libraries for the React Native platform.

Performance

As both NativeScript and React Native work at a native level, their runtime performance is exceptional when compared to web applications that run in a WebView component or similar. Both platforms have been benchmarked to run at an impressive 60fps (frames-per-second) for most tasks.

As a native cousin to ReactJS, React Native also provides its own Virtual DOM which ensures its drawing and updating of the user interface is optimally fast. NativeScript does not provide a Virtual DOM out-of-the-box and so may sometimes run more slowly with heavily active UI changes. However, it is possible to utilise a Virtual DOM within NativeScript using a third-party plugin.

Another caveat with both platforms is that, when using third-party native libraries, these may in fact become the cause of bottlenecks within an application. As native code is rarely bug-free, introducing a library that is not optimised may lead to your application slowing down or even crashing completely. Therefore, care must be taken when developing your application.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on NativeScript, React Native

Nick
Nick

CTO at Pickio

Jun 2, 2020

Decided

We built the first version of our app with RN and it turned out a mess in a while. A lot of bugs along with poor performance out of the box for a fairly large app. Many things, that native platform has, cannot be done with existing solutions for RN. For instance, large titles on iOS are not fully implemented in any of existing navigations libraries. Also there's painfully slow JSON bridge and many other small, yet annoying things. On the other hand Flutter became a really powerful and easy-to-use tool. A bit of a learning curve, of course, because of Dart, but it worth learning. Flutter offers TONS of built-in features, no JSON-bridge, AOT compilation for iOS.

491k views491k
Comments
Andrea
Andrea

May 26, 2020

Needs adviceonVue.jsVue.jsVue NativeVue NativeReactReact

I'm a huge fan of Vue.js and I'm pretty comfortable with it. I need to build a mobile app for my company and I was now wondering whether I could make use of VueJS with Vue Native instead of switching to React. I know Vue Native builds on top of RN. My question is whether I'd have as much freedom with Vue Native over RN and whether you feel like Vue Native is "production ready" or not. Not sure of which shortcomings I may find using Vue Native... Thanks a lot!!!

336k views336k
Comments
Furqan
Furqan

Jul 16, 2020

Needs adviceonReact NativeReact Native

Hello guys, I am new here. So, if I posted without specific guidelines, please ignore.

Basically, I am an iOS developer and developing native apps for the last three years. Recently, I started learning React Native to develop apps for both platforms. If anyone out there knows any useful resources that will become a better react native developer.

@{#newbie}|topic:null|

325k views325k
Comments

Detailed Comparison

NativeScript
NativeScript
React Native
React Native

NativeScript enables developers to build native apps for iOS, Android and Windows Universal while sharing the application code across the platforms. When building the application UI, developers use our libraries, which abstract the differences between the native platforms.

React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.

100% Access to Native Platform API;NativeScript is free of charge as an open source project;Code with JavaScript. Style with CSS;Cross-platform UI abstractions;Shared business logic and data models
Native iOS Components;Asynchronous Execution;Touch Handling;Flexbox and Styling; Polyfills
Statistics
GitHub Stars
25.3K
GitHub Stars
124.4K
GitHub Forks
1.7K
GitHub Forks
24.9K
Stacks
533
Stacks
34.4K
Followers
1.1K
Followers
29.5K
Votes
516
Votes
1.2K
Pros & Cons
Pros
  • 75
    Access to the entire native api
  • 47
    Support for native ios and android libraries
  • 46
    Angular 2.0 support
  • 46
    Support for javascript libraries
  • 44
    Native ux and performance
Cons
  • 5
    Lack of promotion
  • 1
    Slower Performance compared to competitors
Pros
  • 214
    Learn once write everywhere
  • 174
    Cross platform
  • 169
    Javascript
  • 122
    Native ios components
  • 69
    Built by facebook
Cons
  • 23
    Javascript
  • 19
    Built by facebook
  • 12
    Cant use CSS
  • 4
    30 FPS Limit
  • 2
    Slow

What are some alternatives to NativeScript, React Native?

Ionic

Ionic

Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript.

Flutter

Flutter

Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.

Xamarin

Xamarin

Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.

Apache Cordova

Apache Cordova

Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.

Framework7

Framework7

It is a free and open source mobile HTML framework to develop hybrid mobile apps or web apps with iOS native look and feel. All you need to make it work is a simple HTML layout and attached framework's CSS and JS files.

Qt

Qt

Qt, a leading cross-platform application and UI framework. With Qt, you can develop applications once and deploy to leading desktop, embedded & mobile targets.

PhoneGap

PhoneGap

PhoneGap is a web platform that exposes native mobile device apis and data to JavaScript. PhoneGap is a distribution of Apache Cordova. PhoneGap allows you to use standard web technologies such as HTML5, CSS3, and JavaScript for cross-platform development, avoiding each mobile platforms' native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's sensors, data, and network status.

Expo

Expo

It is a framework and a platform for universal React applications. It is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps.

Vue Native

Vue Native

Vue Native is a mobile framework to build truly native mobile app using Vue.js. Its is designed to connect React Native and Vue.js. Vue Native is a wrapper around React Native APIs, which allows you to use Vue.js and compose rich mobile User Interface.

Shoutem UI

Shoutem UI

Shoutem UI is a set of styleable components that enables you to build beautiful React Native applications for iOS and Android. All of our components are built to be both composable and customizable.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase