Frequently Asked Questions

What is NativeScript?

NativeScript is how you write truly native cross-platform mobile applications with JavaScript, TypeScript or Angular. You can always directly access all native platform APIs on both iOS and Android from JavaScript, TypeScript or Angular. NativeScript works differently than Cordova, PhoneGap, Ionic, Xamarin and React Native. See the appropriate section below for more detail.

Who backs NativeScript?

Telerik – a Progress Company (NASDAQ: PRGS), created NativeScript. Telerik has over a decade of experience creating, delivering and supporting developer tools and products. NativeScript is our newest product and we are committed to the same legendary service and support that made Telerik famous. In fact, for the second consecutive year, Telerik is in Gartner Magic Quadrant for Mobile Application Development Platforms. If you are asking this question, you would probably be interested in the CTO's Guide to NativeScript.

How is NativeScript Licensed?

The core of NativeScript is licensed under the Apache 2.0 software license. Basically, you can do what you like with the software, as long as you include the required notices. This permissive license contains a patent license from the contributors of the code and is very business friendly.

Do I have to use Angular?

Nope. NativeScript has full support for Angular and we will continue to keep our implementation up to date with the Angular framework. However, one of the benefits of NativeScript is the freedom to choose the architecture you prefer for your applications. If you want to use Angular, great! If you want to use just JavaScript, no problem!. You can even build your app in TypeScript or Babel if you want. There's also a community-supported Vue.js integration!

We will continue to provide architectural freedom to the NativeScript community. If you want more detail on the pros and cons of each approach, read this chat between our developer relations team and a few of our NativeScript community Experts.

Is NativeScript Accessible (508 Compliance)?

Yes. NativeScript uses native controls; therefore NativeScript applications are usable with screen reader technology. You can read this article for specifics about how NativeScript supports accessible mobile applications.

Does NativeScript support Right to Left (RTL) scripts like Hebrew, Arabic or Urdu?

Yes. NativeScript supports Right to Left scripts. For an example with images, take a look at Rachid Al Khayyat's application to help Syrian refugees in France, developed in NativeScript+Firebase or Download Syrian Forum in France on Google Play

What is the preferred community support?

For issues with the NativeScript framework, please use the NativeScript GitHub. For support from the community, please use the NativeScript community support forum. To chat with the NativeScript community, join our Slack NativeScript Community channel.

Does NativeScript offer Enterprise or professional paid support?

While community support is always free, some organizations want enhanced, paid NativeScript support by our dedicated in-house, legendary support team. We'll work hand in hand with you to ensure the success of your projects. You can find information about NativeScript enterprise support packages on

Is NativeScript secure?

NativeScript apps, like all apps built with JavaScript, are as secure as you decide to make them. You might want to compress and/or obfuscate your JS code if securing your app is important to you. There are a couple of tools to help do this, including jsscrambler. There are also other projects built to help secure your app, like the popular The NativeScript team is working on an officially supported app protection plugin with full code encryption.

What’s the difference between NativeScript and Cordova-based frameworks like Ionic?

NativeScript is a different technology - it is a runtime, not a web technology. Your app will not run like a mini website in a WebView; and therefore it will be more performant. Don’t believe us? Take our sample app for a spin! And if you’re coming from a hybrid background, test out this guide that compares how to accomplish common tasks with both hybrid and NativeScript approaches

Is it kind of like React Native?

NativeScript and React Native, as well as Xamarin and Titanium, are all trying to solve the same problem: the ability to build high-quality native applications from a single codebase. While hybrid mobile development has enabled web developers to use their skills to build cross-platform mobile apps, the look, feel, and performance of this type of an app has been lacking. Building apps that run in a WebView using hybrid mobile strategies got us halfway there, in that we have tooling such as Apache Cordova to build cross-platform using a single codebase.

Newer technologies such as NativeScript and React Native, however, are attacking the problem in a different way, avoiding using the WebView in favor of building truly mobile apps. To learn more about these differences, check out this article: What are the key difference between ReactNative and NativeScript?

Is it kind of like Xamarin?

NativeScript and Xamarin have similarities, and also important differences. Xamarin is a good fit for organizations and developers who prefer to write their code using the C# language. For developers who prefer JavaScript, TypeScript or Angular 2, NativeScript is the more appropriate choice. Additionally, there are some other differences that are covered quite well in this article by Burke Holland titled NativeScript and Xamarin

What kind of performance can I expect with NativeScript?

NativeScript performance is on par or better than other cross-platform solutions, like Xamarin. NativeScript animations run at 60 frames per second and we have the ability to offload long running processes to maintain front end speed.

Performance optimizations is a component of each release. We will continue to evaluate the performance of NativeScript and make changes as appropriate. Feel free to try a NativeScript app on your own device. Or, take a look through our showcases to see what others have done.

What sort of code can I reuse?

Because NativeScript runs JavaScript code, you have the potential to reuse JavaScript and TypeScript code that you run in your web apps. Not all JavaScript will run, as NativeScript does not use HTML or the DOM; therefore libraries such as jQuery do not work.

But code that doesn’t touch the user interface, such as backend services, and utility modules such as lodash, underscore, and moment work in NativeScript exactly as they do in a web app. The story gets even better if you use Angular 2 in NativeScript, as you can code to the same APIs in your web and native apps.

And it gets even better. In addition to web code reuse, NativeScript also gives you the ability to leverage native iOS and Android frameworks when building your native apps. You can learn more by reading our documentation on plugins and CocoaPods.

Can I reuse C++ Libraries?

{N} is a bridge to Android/iOS APIs. Consuming C++ libraries in Android and iOS requires a thin native shim (Java/Objective C) that loads the native library into the process and calls the appropriate APIs. This shim is the glue point between the C++ code and the NativeScript Runtimes that read shim’s APIs and exposes the APIs in JavaScript.

You will need to add some glue code. How much – depends on the granularity of the C++ APIs and how many distinct APIs need to be available in the JavaScript layer. This is an architectural design decision. NativeScript will support an arbitrary number of public functions, you'll be in charge of mapping the public functionsto the correct functions in the C++ library layer.

For Android, wrap the Java shim & the C++ *.so file inside of an *.AAR package. For iOS, link the C++ code in an Objective C framework. We recommend you expose these shims to NativeScript through a {N} plugin containing implementations for both iOS and Android. 

Does NativeScript have any visual themes out of the box?

In addition to NativeScript's robust CSS based styling system, NativeScript also provides a built-in theming mechanism complete with 13 different color schemes you can choose between. Additionally, the NativeScript Theme Builder lets you visually customize the built in themes.

How often can we expect a new version of NativeScript?

We ship a new release of NativeScript every 6-8 weeks. Bug fix releases happen as needed. We publish nightly builds of all packages to npm for those who want early access. Also, beginning with NativeScript 3.0, we publish a release candidate build a few weeks before official releases, to get advance validation of release quality.

How do you debug NativeScript apps?

NativeScript has a number of capabilities to make debugging easy. Our LiveSync feature constantly pushes code updates to the native emulators or devices to ensure the fastest time to see the impact of changes. We provide a free NativeScript Visual Studio Code plugin complete with variable introspection, break points (even conditionals) and other common debugging tasks. Take a look at this NativeScript debugging video for a quick look at what you get. We incorporated Google Chrome developer tools in NativeScript 2.5 and will continue to expand on the feature set with each release.

How do you test NativeScript apps?

You have many different options for testing NativeScript applications. Unit testing is built directly into the NativeScript CLI, including support for popular frameworks such as Jasmine, Mocha, and QUnit. Functional testing is available through a variety of other providers, for example Appium. You may also be interested in using NativeScript’s own QA workflow, which we completely open sourced as part of our 2.5 release.

Where should I get started?

We provide two tutorials to help you get up and running with NativeScript—Getting Started with NativeScript and JavaScript, and Getting Started with NativeScript, TypeScript, and Angular 2.

You can also check out our resources page, which lists out alternative learning material, such as NativeScript books and Pluralsight courses.

What NativeScript apps are already in the app stores?

There are many NativeScript apps available in both the iOS App Store and Google Play. We only know about the ones you tell us about, but there are a bunch you can take a look at on the NativeScript showcase apps page.

How does NativeScript run my JavaScript code?

NativeScript uses JavaScript virtual machines to execute JavaScript commands. On Android, the NativeScript runtime uses the  V8 virtual machine. On iOS, it uses the JavaScriptCore virtual machine. For more detailed information check out the blog post  How NativeScript works, the Android runtime overview and the iOS runtime overview

How quickly can I use new features or releases from Apple or Google?

New native platform updates are available immediately in NativeScript's JavaScript layer for the developer to consume. There is no need to wait for us to provide wrappers or bridging code to use new features. You always have 100% access to every native platform API and component from JavaScript, TypeScript or Angular the moment the feature becomes available in the mobile operating system.

How can I contribute?

NativeScript is open source and contributions to all parts of the framework are welcome. Contributions can range in complexity and effort. The simplest way to help is to fix a documentation article. You could fix a typo, add a new example, or write an entire new guide from scratch. The NativeScript docs are in GitHub and we appreciate pull requests.

At the other end of the spectrum, many aspects of the NativeScript framework are complex, like the Android and iOS runtimes. How you contribute is up to your experience and capacity to help, but all help is welcome.

To get started, check out the contributors guide.

Jump to question
NativeScript is licensed under the Apache 2.0 license
© 2018 Progress Software Corporation. All Rights Reserved.
Privacy Center