Preview 2.0 is now in Public Beta!
Read the Announcement
Note: You are on the beta version of our docs. This is a work in progress and may contain broken links and pages.

What is NativeScript?

NativeScript provides platform APIs directly to the JavaScript runtime (with strong types) for a rich TypeScript development experience, which can be used to build cross platform apps. This is facilitated by the iOS (@nativescript/ios) and Android (@nativescript/android) runtimes.

To aid in cross-platform development, common use-cases are implemented in @nativescript/core utilizing the underlying native APIs provided by each runtime.

The "frontend" code can be authored in various frameworks often referred to as flavors. The currently supported flavors consist of the following:

  • Plain JavaScript or TypeScript—currently part of @nativescript/core, uses XML to declare the UI and JavaScript classes for data binding
  • Angular—published under @nativescript/angular
  • Vue—published under nativescript-vue
  • React—published under react-nativescript
  • Svelte—published under svelte-native

There's more!

These are the officially supported frontend flavors, however given how NativeScript is built, new flavors can be implemented on top of it. A great example is a few community projects that bring support for various other flavors: SolidJS, rEFui, and more with DOMiNATIVE.

How to use the docs?

The docs have been written with no assumptions of the reader's experience, however it does assume knowledge of JavaScript fundamentals. If you are new to JavaScript, we recommend these resources from MDN:

The left sidebar (a dropdown on top on mobile devices) contains the primary navigation.

On most pages, the right sidebar (hidden on mobile) contains an outline of the current page, allowing quickly jumping to a section of interest. Apart from the outline, this section shows a list of GitHub users who have contributed to the current page, an "Edit this page" button (where applicable) that can be used to contribute additional details or just fixing a typo on the current page.

Ready to dive in?

You will want to setup your development machine using the Environment Setup guide which involves preparing your machine for iOS and Android development as well as installing the NativeScript CLI via npm install -g nativescript