NativeScript is an open source framework for building truly native mobile apps with JavaScript. Use web skills, like Angular, FlexBox and CSS, and get native UI and performance on iOS and Android.
TypeScript JavaScript Other
Latest commit f228548 Jan 23, 2017 @PanayotCankov PanayotCankov committed on GitHub Merge pull request #3521 from NativeScript/fix-android-statusbar-crash
Fix crash when status bar is set on Android in API level 21 or below
Failed to load latest commit information.
.github Improve the pull request template wording Jul 27, 2016
.vscode Change to use the new image.Cache class from widgets. (#… Oct 5, 2016
apps Back to animated nav-bar Jan 20, 2017
build npm scripts for typechecking public .d.ts-es and running tslint (#2934) Oct 27, 2016
node-tests Remove the files entry from the tsconfig.json Jun 13, 2016
tests Require ui/label instead of tns_modules/tns-core-modules/ui/label in … Jan 20, 2017
tns-core-modules Fix crash when status bar is set on Android in API level 21 or below Jan 23, 2017
tns-platform-declarations Merge pull request #3460 from NativeScript/zhecheva/flexbox-order-fix Jan 16, 2017
.ackrc Add an ackrc for easier searching Feb 24, 2016
.ctags_exclude (chore) Exclude platform d.ts files from ctags traversals. May 16, 2016
.gitattributes definitions fixed Mar 3, 2015
.gitignore Adding request for write storage permissions. Nov 22, 2016
.travis.yml chore(travis): Update npm token Jan 23, 2017
AUTHORS Update Authors Feb 16, 2016 Update Nov 21, 2016 (Coding Convention) Fix indents to use 4 spaces (per the same guideli… Mar 15, 2016 definitions fixed Mar 3, 2015
CrossPlatformModules.csproj Update csproj (#2145) May 19, 2016
CrossPlatformModules.sln Add commented unittest - will need to check later why android tests f… Sep 4, 2015 definitions fixed Mar 3, 2015 Update the Oct 13, 2016 Rename the old Readme Apr 24, 2015
LICENSE Fix the license agreements Mar 17, 2016 Fix the license agreements Mar 17, 2016 Update Nov 2, 2016 Add the new snippet injector in grunt task Apr 13, 2016
expect.exp Add timeout warning log for test runner. Increase timeout to 1200 Sep 16, 2016
gruntfile.js Add typescript declarations for workers Oct 20, 2016
package.json Pin typescript dependency to 2.0.x Jan 9, 2017 Remove redundant files. Update the doc with iOS instructions Oct 29, 2015 Fix typos in Feb 13, 2016
tsconfig.json Flexbox ios initial commit Oct 19, 2016
tsconfig.public.es2016.json npm scripts for typechecking public .d.ts-es and running tslint (#2934) Oct 27, 2016
tsconfig.public.es6.json npm scripts for typechecking public .d.ts-es and running tslint (#2934) Oct 27, 2016
tsconfig.typedoc.json Added npm run typedoc and npm run dev-typedoc scripts, read the Devel… Oct 6, 2016

NativeScript Build Status

NativeScript logo

NativeScript is a framework for building native iOS and Android apps using JavaScript and CSS. NativeScript renders UIs with the native platform’s rendering engine, no WebViews, resulting in native-like performance and UX.

NativeScript provides a best-of-both-worlds development experience. Our cross-platform JavaScript modules give you the convenience of writing iOS and Android apps from a single JavaScript codebase, while our runtimes give you the power of accessing native APIs, SDKs, and frameworks when you need them—all without needing to open Xcode or Android Studio. NativeScript was created and is supported by Telerik.

Check out the links below to get started:

For CTOs

Making the right technology choices is key to success. Our CTO’s guide to NativeScript helps you understand why NativeScript is the right choice for your next mobile project.

Getting Started and Installation

Our Getting Started Guides are hands-on tutorials that walk you through installing NativeScript and building a real iOS and Android application.

Quick Links


The NativeScript framework consists of a number of components, all of which are open source and on GitHub. Here are the major ones:

  • Cross-platform modules npm
    • This repo contains the NativeScript cross-platform modules, which abstract iOS and Android APIs into JavaScript APIs—e.g. camera.takePicture(). The modules are written in TypeScript.
  • iOS runtime npm
    • This repo contains the NativeScript iOS runtime—the code that hosts NativeScript iOS apps, and allows JavaScript code to be executed on iOS devices. The iOS runtime is written in a fun mix of C++, Objective-C, and more.
  • Android runtime npm
    • This repo contains the NativeScript Android—the code that hosts NativeScript Android apps, and allows JavaScript code to be executed on Android devices. The Android runtime is written in a fun mix of C++ and Java.
  • CLI npm
    • This repo contains the NativeScript command-line interface, which lets you create, build, and run apps using the NativeScript framework. The CLI is written in TypeScript.
  • Docs
    • This repo contains the NativeScript framework documentation, which is available at The docs are written in Markdown.

In addition to the code that makes up the NativeScript framework itself, we also provide a number of open-source sample apps that you can reference while building your NativeScript application.


We love PRs, and accept them for all of our repositories—even docs! Please follow our contribution guide if you want to become part of the project.

Angular 2

We are working together with the Google Angular JS team to make Angular 2.0 work on top of NativeScript. To use Angular 2 and NativeScript please follow the getting started article.

Get Help

The NativeScript framework has a vibrant community that can help when you run into problems.

If you have a question, start by seeing if anyone else has encountered the scenario on Stack Overflow. If you cannot find any information, try asking the question yourself. Make sure to add any details needed to recreate the issue and include the “NativeScript” tag, so your question is visible to the NativeScript community.

If you need more help than the Q&A format Stack Overflow can provide, try joining the NativeScript community Slack. The Slack chat is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

Finally, if you have found an issue with the NativeScript framework itself, please report the problem in the Issues.