TABLE OF CONTENTS

React Native

React Native is an open-source framework based on JavaScript that lets developers build native-like applications for Android and iOS much faster.

  • 2015
    Created in
  • Compact app's size
  • Robust Performance
  • Super-fast rendering
VS

NativeScript

NativeScript is an open-source framework that helps developers build apps on Android and iOS with JavaScript or any other JavaScript-related language.

  • 2014
    Created in
  • Easy environment set up
  • Direct access to native APIs
  • Wide access to plugins

React Native vs NativeScript: Comparison

React Native vs NativeScript

Introduction

For many years, the debate between React Native and NativeScript has remained a very hot topic for developers and business owners. These two frameworks are at the forefront of cross-platform mobile app development, offering unique approaches to building versatile and efficient mobile applications.

Today, we will provide a deep comparison of those two, shedding light on their capabilities, differences, and benefits. We’ll go through key aspects such as performance, community support, development experience, and integration with native APIs, among others.

We aim to equip you with the knowledge and ensure that your decision aligns with your project requirements and goals. By the end of this article, you’ll have a clearer understanding of the pros and cons of NativeScript and React Native, as well as insights into which framework could be the best fit for your native app development needs. 

What is React Native?

Developed by Meta (formerly Facebook), React Native is an open-source, JavaScript-based framework that has consistently been a frontrunner in cross-platform mobile app development world. React Native allows for the creation of applications with a native feel, making it a go-to choice for many developers and organizations globally. Its extensive community support has been pivotal in resolving various development challenges.

React Native renders native components and utilizes native platform APIs. It boasts a massive user base with high-profile apps like Instagram, Bloomberg, and Pinterest using it. This mobile app development framework uses a multi-threaded architecture and Virtual DOM to improve performance, and its ease of learning, especially for developers familiar with React, is a significant advantage

React Native’s journey is quite remarkable. Originating as a hackathon project in 2013, it has evolved into a mainstream framework by 2015, showcasing its adaptability and constant evolution to meet modern development needs. This transition from a simple project to a globally recognized framework underscores its resilience and capacity for growth. For anyone considering cross-platform app development, React Native stands out with its blend of maturity, continuous innovation, and robust community backing. 

React Native in 2024

The year 2023 brought us further improvements, with the release of version 0.73. These updates have improved debugging processes and introduced stable symlink support, further bolstering the framework’s utility for developers.

Latest Features:


Introducing New Architecture

The refined architecture has optimized the interaction between JavaScript and native threads, leading to smoother and more efficient apps.

Transition to TypeScript

A pivotal update in React Native 0.71 was the integration of TypeScript, ensuring more structured and dependable code. This shift resonates with the development ethos at Pagepro, where TypeScript’s clarity and maintainability are highly valued. This move towards TypeScript exemplifies the framework’s alignment with industry standards.

Revolutionizing Layouts with Flexbox Gap

The introduction of Flexbox Gap has been a boon for developers struggling with responsive design in native mobile apps. This feature, supporting properties like gap, rowGap, and columnGap, simplifies the creation of uniform layouts across various devices.

Better DevTools

The upgraded DevTools in React Native have become an essential asset for developers. They streamline both debugging and UI development. These tools reduce the time spent on troubleshooting, allowing focus on creative aspects of app development.

Symlink Support

Initially in beta in React Native 0.72 and later stabilized in version 0.73, Symlink support has been a highly anticipated feature, especially for developers working with monorepo setups and package managers like pnpm.

Package Exports Support

React Native has introduced a modern approach to package.json “main” field with “react-native” community condition support, boosting cross-platform package compatibility. This advancement presents a novel way of handling the package.json “main” field, with added support for the “react-native” community condition, thereby improving compatibility for cross-platform packages.

Babel Package Updates in React Native 0.73

React Native 0.73 marked a significant shift with the transfer of two Babel-related packages from the Metro framework to React Native’s repository. This change simplifies the maintenance and upgrading process.

Companies using React Native:

Many big brands use React Native. In 2020 Shopify decided to move all of its mobile products to React Native, and here’s why: 

There were 3 main reasons now is a great time to take this stance:

  1. We learned from our acquisition of Tictail (a mobile-first company that focused 100% on React Native) in 2018 how far React Native has come and made 3 deep product investments in 2019
  2. Shopify uses React extensively on the web and that know-how is now transferable to mobile
  3. We see the performance curve bending upwards (think what’s now possible in Google Docs vs. desktop Microsoft Office) and we can long-term invest in React Native like we do in Ruby, Rails, Kubernetes and Rich Media.
Source: https://shopify.engineering/react-native-future-mobile-shopify

Also UberEats is a React Native app, and that’s why they chose this framework over the others:

While it would be premature to call React Native the silver bullet of mobile app development, it did seem to fit the UberEATS use case very well.

Since the original incarnation of Restaurant Dashboard was built for the web, our team had a great deal of experience using React but limited iOS/Android exposure.

There was also a wealth of knowledge about how the restaurant component of the service functioned, which we had accumulated by working on UberEATS since its inception.

These considerations made React Native, which provides a platform for mobile development in the language of the web, a compelling option. It provided us with the utensils we needed to “cook” the application we wanted to near-perfection.

Fahran Thawar – VP & Head of Engineering, Shopify

Source: https://www.uber.com/en-PL/blog/ubereats-react-native/

What is NativeScript?

NativeScript, an innovative and versatile open-source framework developed by Progress, stands as a powerful contender in the world of cross-platform mobile app development. It empowers developers to build truly native mobile applications using JavaScript, TypeScript, or any JavaScript-related language like Angular and Vue.js. NativeScript’s direct access to native APIs on iOS and Android sets it apart, allowing developers to utilize the full capabilities of the underlying platforms for their applications.

The journey of NativeScript has been marked by a commitment to providing developers with the tools needed to create highly performant and visually appealing native applications. Its ability to leverage native components directly, without the need for WebViews, results in apps that deliver a genuine native user experience.

NativeScript in 2024

As of 2024, NativeScript continues to make significant strides, having various updates and improvements, each contributing to its robustness and ease of use.

Latest Changes in NativeScript:

  • Higher Performance: NativeScript’s unique approach, which involves using native UI components directly, ensures optimal performance. This direct interaction with native elements means that apps built with NativeScript can run smoothly and efficiently on devices, providing an experience that closely mimics that of apps built with native development tools.
  • Broader Framework Compatibility: NativeScript’s compatibility with popular frameworks like Angular and Vue.js offers developers the flexibility to use their preferred JavaScript frameworks. This compatibility ensures that developers can leverage their existing skills and knowledge to build native mobile applications more efficiently.
  • Improved Developer Experience: With updates to its core systems, NativeScript has focused on upgrading the overall developer experience. Features like Hot Module Replacement (HMR) and streamlined CLI tools have made the development process faster and more intuitive.
  • Community Growth and Support: The NativeScript community has continued to grow, providing a useful resource for developers. It offers support, shares best practices, and contributes to a wide range of plugins and extensions.
  • Integration with Modern Development Tools: NativeScript’s support for modern development tools and languages, including TypeScript, has made it a universal choice for developers. It allows for cleaner, more maintainable code, which is crucial for large-scale application development.
  • Focus on Enterprise Solutions: NativeScript has been mainly adopted by enterprises looking to build complex, high-performance mobile applications. Its ability to handle demanding application requirements makes it a preferred choice for businesses that require deep integration with device capabilities and native functionalities.

Companies using NativeScript

  • Deloitte Digital
  • Hulu
  • PUMA
  • Sennheiser

Still not sure which framework is best for you?

React Native vs NativeScript: Head-to-head

React NativeNativeScript
Programming languageJavaScriptJavaScript
Created byFacebookProgress
Supported platformsAndroid, iOS, Web AppsAndroid, iOS
Hot ReloadYESYES (LiveSync)
Release date20152014
Development ecosystemExtensive librariesFramework Agnostic

NativeScript vs react native: Comparison

Application size

When it comes to the mobile app size, particularly for applications with complex business logic, the choice between React Native and NativeScript can be hard. React Native, known for its efficiency in app size, is the right choice for those looking to build compact mobile products. This efficiency comes from its use of JavaScript and various optimization techniques. And it makes it proficient at managing application size without compromising on functionality.

On the other hand, NativeScript, known for its direct access to native APIs, may result in somewhat larger applications. This slight increase in size is a trade-off for its ability to offer more direct control over native features, which can be crucial for certain types of digital products. 

As of 2024, the general trend suggests that React Native continues to lead in creating more size-efficient applications. NativeScript maintains its strength in delivering rich native functionality but with potentially larger app sizes.

The winner: 
For large, complex applications – Native Script 

For smaller applications – React Native.

Code sharing – Nativescript vs React Native 

Both NativeScript and React Native allow for a high degree of code sharing across platforms, although the extent of shareable code depends on the application’s complexity and the use of platform-specific components. The general rule is that the more complex and custom the application is, the smaller the possibility of sharing the codebase. However, React Native, and NativeScript applications can share up to 90% of the code across iOS and Android platforms.

There is also one crucial factor that influences the code-sharing percentage – the number of used native-platform components. The bigger that number is, the less part of the code can be shared. 

The winner:

No clear winner 

Nativescript vs React Native Performance

Both React Native and NativeScript have their strengths in performance, but they differ in their approaches. React Native, known for its improved performance, uses a multi-threaded model and Virtual DOM, which influences UI rendering. NativeScript, while offering direct access to native APIs, can experience slower rendering due to its single-threaded approach. However, it achieves near-native performance levels, making it suitable for performance-intensive applications

The Winner: 

React Native (because of the more efficient rendering). NativeScript for complex applications 

Native APIs integration

When it comes to integrating native APIs, NativeScript and React Native adopt different approaches that significantly influence app development workflows.

NativeScript is renowned for its direct access to native APIs for both Android and iOS platforms. This access is granted without the necessity to write additional code in native languages like Kotlin/Java for Android or Objective-C/Swift for iOS. This feature enables developers to use platform APIs directly within their TypeScript code, streamlining the development process for native applications​​.

React Native, while also providing the capability to connect with native APIs, requires the use of special bridges for this integration. These bridges facilitate communication between the JavaScript code and native modules, but they often necessitate some knowledge of native languages. While there are pre-built bridges available, integrating them can still require additional effort. This makes React Native slightly more complex when it comes to native API integration compared to NativeScript.

The choice between these two frameworks largely depends on your project requirements and the level of direct access native APIs needed. NativeScript might be more efficient for projects requiring extensive native features, while React Native could be better suited for projects where JavaScript-centric development is prioritized.

The winner:
Native Script 

React Native vs Nativescript: Community, popularity and support

If it were a popularity contest, React Native would win indisputably. The main reason is that Facebook developers are behind RN, and they are wildly popular around the programming world. Just take a look at numbers from GitHub, Google Trends, StackOverflow, and Stackshare.

On GitHub React Native has 114k stars while NativeScript “only” 23.4k. 

React Native on Github 2024
NativeScript on Github 2024

Google Trends

In the last five years, React Native is outraging NativeScript in popularity among Google Searches. And even though React Native lost a little bit of interest in 2021, it gained it back again in 2022.  

React Native vs NativeScript in Google Trends 2024

In the 2023 Developer Survey by Stack Overflow React Native is at the 12 place of the most popular technologies in the category “Other frameworks and libraries” – and NativeScript isn’t even mentioned here.

The winner:

React Native

All these numbers mean that if you choose React Native to build a mobile app, it will be easier to:

  • Get unconditional help from the online community.
  • Find and hire developers. 
  • Find components or learning resources.

Developer environment and tools

React Native, while not having a dedicated Integrated Development Environment (IDE), offers a flexible development experience by allowing the use of any preferred code editor. This means developers can choose from popular editors like Visual Studio Code, Atom, or Sublime Text. And while it’s great news, you should remember that you are on your own when it comes to setting up everything. 

NativeScript makes it easy to set up the environment – everything you need is a single line of code. Moreover, there is a special debugging plugin for those who use Visual Studio Code. As a developer, you can use it for variable inspection, breakpoints and other everyday tasks.

Both React Native and NativeScript allow the use of Chrome Developer Tools for debugging, providing a familiar environment for web developers transitioning to mobile app development. This commonality ensures that regardless of the chosen framework, developers have access to powerful tools for building and debugging their applications.

React Native vs NativeScript: Learning curve

React Native is often favoured for its relative ease of learning, particularly for those already familiar with JavaScript and React. This is due to its component-based architecture and features like hot reloading, which provide a more streamlined learning experience.

React Native’s extensive community and wealth of resources further aid in learning and development. The framework’s popularity and the ongoing efforts by the community and Facebook (now Meta) to prepare better documentation and tutorials make it much easier to learn for new developers.

NativeScript, while also utilizing JavaScript, presents a rather steeper learning curve, especially for developers who are new to native mobile development.

However, NativeScript’s compatibility with a range of JavaScript frameworks, including Angular, TypeScript, and Vue.js, offers flexibility and might be appealing to developers experienced in these technologies.

Despite its steeper learning curve, NativeScript provides direct access to native APIs, which is a significant advantage for building applications with native performance and capabilities. In recent years, NativeScript may have improved its documentation and tooling to simplify the onboarding process for new developers.

Third-party plugins

NativeScript offers a Marketplace where you can find any plugins you may need. Because of that, third-party solutions aren’t required. On the other side, React Native lacks something like this but highly relies on third-party plugins, but there are many resources available, and generally, it isn’t a problem to find what you need.

Nativescript marketplace

Conclusion

Both React Native and NativeScript emerge as compelling choices for building cross-platform mobile applications, each with its unique strengths and capabilities.

React Native and NativeScript share similarities in their use of JavaScript and their focus on performance, making them both highly performant options for app development. They enable the creation of apps that offer a native-like experience on both iOS and Android platforms, leveraging the power of modern JavaScript frameworks.

As a React Native-focused agency, we prefer React Native for several reasons:

  • Foundation in React JS: React Native is based on React JS, offering a familiar development environment for those already experienced in React.
  • Access to Extensive Resources and Libraries: The framework’s large community and ecosystem provide a vast array of libraries and resources, facilitating development and problem-solving.
  • Continuous Technological Advancement: Backed by Meta (formerly Facebook), React Native is consistently updated and improved, ensuring the framework stays relevant and powerful.
  • Smooth Transition Between Web and Mobile: React Native makes it easy to transform projects from web to mobile and vice versa, leveraging the similarities between React and React Native.
  • Ease of Finding Skilled Developers: The popularity of this technology means there’s a larger pool of React Native developers familiar with the framework, making it easier for our clients to find qualified developers for ongoing project development or use the experience of in-house programmers with a React background. 
  • Endorsement by Meta: Being backed by a tech giant like Meta is a testament to React Native’s reliability and potential for future growth and innovation.

While we advocate for React Native, we also recognize the strengths of NativeScript. NativeScript is highly valued for its Marketplace, offering a centralized hub of plugins and tools tailored for the framework. Its direct access to native APIs is a standout feature, particularly beneficial for large and complex applications that require deep integration with native capabilities.

Still not sure which framework is best for you?

Sources:

Norbert Kamienski

Norbert is an Engineering Manager and React Native Expert at Pagepro, where his expertise and leadership have been pivotal for over eight years. Renowned for his professionalism and meticulous attention to detail, Norbert has a well-earned reputation for optimizing app performance to its peak. His technical insight and deep understanding of React Native have made him a trusted figure both within the team and among clients.

Article link copied

Close button