Preview 2.0 is now in Public Beta!
Read the Announcement

What is NativeScript?

NativeScript is primarily a framework for building cross platform applications. The core technology revolves around exposing native APIs directly to the JavaScript runtime, providing type declarations for a rich TypeScript development experience. This is facilitated by the iOS runtime (@nativescript/ios on npm) and the Android runtime (@nativescript/android). To aid in cross-platform development, common use-cases are implemented in @nativescript/core utilizing the underlying native APIs exposed 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

TIP

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: Example 1, Example 2

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