Mobile apps delivered by leveraging our existing skillset with NativeScript
April 30, 2018

Mobile apps delivered by leveraging our existing skillset with NativeScript

Evan Payne | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with NativeScript

We are using NativeScript on a single mobile project at the moment. It is the framework which supports development of this entire project for our client. In particular, we are using NativeScript with Angular 5, to leverage the current skills of our front-end development team. We also have an internal app to track our knowledge sharing events that we are developing with NativeScript.
  • NativeScript allows our front-end developers to build actually native mobile apps with the javascript we already know well.
  • It is very quick to get started using NativeScript. We can generally onboard a new developer into the project in just a day or two.
  • The open source community surrounding NativeScript allows our team to find solutions to open issues quickly, as well as give back by fixing some issues ourselves. Work can progress quicker with the plugins other developers have already built.
  • The frequency of updates can make it hard to stay fixed to a common version. I found that there were so many improvements happening that it was worth bumping versions and adjusting the code at least every 3 months. This added extra development time, which also added stress. The benefit is worth it, but it's important to keep in mind that sometimes even a bugfix version bump will require some code changes.
  • We also found the fractured dependencies hard to keep up with at times. The nativesript-cli, tns-android, tns-ios and nativescript-angular dependencies all have their own release cycles that are close together, but not tied together, and that has downsides when prioritising upgrades during a release cycle. Again, the benefit to upgrading is worth it, but staggered releases do add additional complications.
  • Documentation is good, but could be better. Over the past year, this has been greatly improved, but there is still a delay between the adding or refactoring of features and the updates to the documentation.
  • The plugin ecosystem is open source, which is good, but as with your own project, the authors of these plugins also have to keep up to date with the changes in the repos, and that isn't always done in a timely fashion.
  • We had built this particular app once already, during a 6 month time frame, using Ionic. When we hit the wall, we chose NativeScript, and built the whole app from scratch. We estimated another 6 months, but completed the work in 4 months due to the ease of use.
  • We have found collaboration with our client much easier because of the simplicity of releases and speed of development.
  • Having a tool like NativeScript has allowed us to make competitive quotes for mobile app development contracts, where previously that would have been closed to us due to our lack of native development experience. Being able to build iOS apps without a Swift-code expert has opened those doors for us.
Ionic
Ionic is an excellent Angular-based framework for mobile, and it does give a lot of access to the native device api's. However, the technology is based on Cordova, which means the apps being built are just webviews, with html, css and JS all running on the UI thread, and potentially creating very slow experiences for users. NativeScript is a truly native solution, and so provides a faster user experience.

ReactNative
We evaluate ReactNative, and found it much the same as NativeScript. The main difference is that your JS is all written with React, while NativeScript lets you choose between normal JS, Angular, and Vue. For our team, Angular was the most appropriate choice.
As with any mobile app, the most important decision to make first is whether you really need a mobile app at all. If you are just building a web app with some user data persistence, then perhaps a progressive web app is all you need. Where NativeScript shines is in building apps that use more than the standard web APIs, and really provide value to your users in how they interact with the device APIs.

Additionally, consider what javascript framework your team is most comfortable using before starting your NativeScript project. There are flavours available for standard JS, Angular, and Vue. Angular is often the best documented, and both JS and Angular are quite stable. NativeScript + Vue is new, and there are still many bugs, but for simple apps, you can accomplish a lot without trouble. The best thing is to choose based on what your team already knows, and this will speed up your development process.