Native Script

NativeScript is an opensource framework for building native mobile apps using Angular, JavaScript, or TypeScript. It is supported by Progress and offers a great option to build mobile apps using your knowledge of web development. Like Xamarin, you have the option to create truly native apps for iOS and Android because it allows direct access and use of native components and device API.

NativeScript too is an open source, cross-platform development tool, but unlike many other competitors, the tool can be used for free. The tool doesn’t even have the tiering system with certain Pro or Paid levels for advanced options.

With NativeScript developers can use Angular, JavaScript, or TypeScript and build mobile apps for Android & iOS. NativeScript has Vue.JS integration as well, in addition to its ability to support hundreds of plugins for extended functionality. It however, requires a good knowledge of the command line, which means that the developer would also have to supply their own text editor.

Advantages

  • Uses Angular, and TypeScript or JavaScript
  • Access to Angular data binding, dependency injection, reusable components
  • TypeScript is a strongly typed, object-oriented language
  • Uses NativeScript Command Line Interface(CLI)
  • Uses Visual Studio Code
  • Lightweight but with a lot of similarities as Visual Studios
  • Use native components and has access to native device API
  • Uses XML based markup language similar HTML
  • Uses Node Package Manager for plugin Support
  • Large assortment of opensource plugins
  • Live syncing of code changes during development

Developing on NativeScript is great because it allows you to use your web development skills to create a cross-platform native app. You can use Angular and gain access to powerful features such as data binding in the UI, dependency injection for the service architecture, and building reusable components which can be shared across multiple apps.

NativeScript uses an XML based markup language which closely resembles and functions like HTML to create the screens and UI. It also uses a small subset of CSS to style the screens. It comes with some standard views which are wrapped around the corresponding native component, and gain access to native API to interact with the component. Again, Button is actually rendering an android.widget.Button and UIButton but you use what looks and feels like HTML to create your interface instead.

Disadvantages

  • NativeScript apps are larger than native apps
  • Some buggy opensource plugins
  • Some of the disadvantages with NativeScript include having a larger app size than native. When building the APK/IPA, you should run WebPack and Uglify to reduce the size of the application.
  • To build for the iOS side, you will also need a Mac running macOS. Again, you will also need to set up a developer account and get a paid developer license to register your Apple devices so that the app can be tested on them.
  • Opensource plugin support is nice, and there are a lot of options from which to choose in order to add functionality to your app, but we have encountered some bugs with some plugins that required some fixing or exclusion from the app.

NativeScript is built by Progress and focuses on modern and feature-rich business apps. It is an open-source platform and gives direct access to any native API and component using JavaScript. It is designed to leverage web skills such as JavaScript, Angular and CSS to build native, cross-platformapps.