8.6 Released with 🥽 visionOS support and more!
Check it out

What is NativeScript? ​

NativeScript provides platform APIs directly to the JavaScript runtime (with strong types) for a rich TypeScript development experience.

Some popular use cases:

  • Building Web, iOS, Android and Vision Pro apps with a shared codebase (aka, cross platform apps)
  • Building native platform apps with portable JavaScript skills
  • Augmenting JavaScript projects with platform API capabilities
  • AndroidTV and Watch development
  • watchOS development
  • Learning native platforms through JavaScript understanding
  • Exploring platform API documentation by trying APIs directly from a web browser without requiring a platform development machine setup.

Why NativeScript? ​

  • JavaScript skill reuse
  • Natural platform feel and performance characteristics
  • Improve how Platform developers can work together with JavaScript developers
  • Strengthening job market potential by allowing developers to port their skills between different environments
  • Fully open source and a member of OpenJS Foundation, supporting the healthy growth of JavaScript and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities that benefit the ecosystem as a whole

This is all facilitated by the supported platform runtimes:

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

Many popular JavaScript frameworks can be used; often referred to as flavors, for example:

  • 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!

Given how NativeScript is built, new flavors can be implemented on top of it anytime. A few great examples from the community:

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