NativeScript is a free and open source 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.

Angular is one of the most popular open source JavaScript frameworks for application development. The latest version of Angular makes it possible to use the framework outside of a web browser, and developers at Progress—the company that created and maintains NativeScript—worked closely with developers at Google for over a year to make Angular in NativeScript a reality.

The result is a software architecture that allows you to build mobile apps using the same framework—and in some cases the same code—that you use to build Angular web apps, with the performance you’d expect from native code. Let’s look at how it all works by building an app.

NOTE: If you spot any issues while completing this guide, let us know on our Angular GitHub repo.

This guide assumes that you have some basic knowledge of JavaScript, CSS, and your development machine’s terminal. More specifically:

JavaScript: You should know basic JavaScript concepts, such as how functions, if statements, and loops work.

CSS: You should know how to write simple CSS selectors, and know how to apply CSS rules as name/value pairs.

The terminal: You should know how to open a terminal or command-line prompt on your development machine, how to change directories, and how to execute commands.

A text editor or IDE: You should know the basics of your text editor or IDE of choice. You can use any text editor to build NativeScript apps, however, for the best possible experience you may want an editor with built-in TypeScript support, such as Visual Studio Code.

This guide will not assume you have any knowledge of Angular or TypeScript. When background Angular or TypeScript expertise will help you understand a concept, this guide will link you to the appropriate places in the Angular or TypeScript documentation.