NativeScript, the fast way to build robust mobile applications
Anonymous | TrustRadius Reviewer
April 10, 2018

NativeScript, the fast way to build robust mobile applications

Score 10 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with NativeScript

Our organization uses NativeScript to build different mobile applications for clients with different needs. NativeScript has been a great fit for us for the last couple of years, as it allows us to move forward quickly delivering high-quality applications in a lot less time than it would take if we had to develop two separate codebases for the two main platforms.
  • Easy to use abstactions for common elements such as action bars, tab views etc.
  • Allows accessing native APIs within JavaScript, so if anything is missing from the core framework, we don't have to wait for an update, we can just implement it straight away.
  • The choices when choosing a framework (or no framework) to be used. NativeScript works with plain JavaScript, plain Typescript, Angular and a recent additon of VueJs.
  • There is no real hot module replacement, where changes made to the source code reflect on the device instantly.
  • There is a slight overhead by having to run a JavaScript VM, so if performance is really critical NativeScript might not be the right choice. Worth noting that in most cases the performance is very comparable to truly native applications.
  • There are no ready-made UI collections, so applications have to be built using the default UI elements, and then styled manually.
  • One of the projects we had to build was a rewrite of an existing mobile application. We could acomplish the complete rewrite in about a month along with general improvements and a couple additions.
  • More and more clients are specifically looking for NativeScript developers, and since we are focused on NativeScript we've had an influx of new clients asking for quotes.
  • Ionic and Flutter
Ionic is based on an embedded WebView running an app looking website in the background. It has been around for a couple years, but it does not compare well to real native applications. In most cases the UI just doesn't have the feel of a real native app, and performance is usually a problem. Flutter is the new kid in the block, while it has some great potential, there are still many things it has to figure out before it becomes a viable option, at least in our organization. Just to name a few things that made us choose NativeScript over Flutter, i'd start off with project maturity. NativeScript has had a stable release for a few years now and has been improving constantly. Flutter has become stable very recently and the surrounding ecosystem is still in it's early stages. One of the main downsides of Flutter is that the UI is rendered using OpenGL, so we can't reuse existing UI elements for a given platform, instead everything has to be recreated, which might not always be a worthwhile time investment.
If the goal is to ease future maintenance by not having to develop two separate codebases for the two main platforms then NativeScript might be a great fit. NativeScript is not a good fit for games because of the added overhead of having to run a JavaScript VM that proxies calls to the underlying native layer.