Hitting the Mark with NativeScript | A Practical Application

Published: July 10, 2018

By Devin Soper, Lead Writer, Microexcel CSD

The Impact of an Unfinished App

A few months ago, the Custom Software Development team of Microexcel was introduced to a company located in Utah with a proposed inventive goal setting and accountability tracking app. When we met, we found out that they had just undergone a nightmarish one-year development cycle trying to get their app to market and sadly…not much to show for it.

The app was never completed.

The company had originally hired an outside developer to create both an iOS and Android version of the app with the hopes of bringing their idea to the public quickly. Months went by and in the end, they didn’t have a deliverable product. After a tumultuous development cycle had come and gone, the app was still not ready to go-to-market.

Back from the Brink

Considering their previous experience, it became clear that the development of the app not only needed to be agile and efficient, it also needed to be developed rapidly.

Thus, the goals for the project became:

Develop the app within 12 weeks

Deliver on all design and native features for iOS and Android

Include a robust back-end to handle user requests and goal driven notifications

First, A Reality Check

The projected timeframe for most native mobile applications from start to finish is four to six months. This includes the design, back-end, and front-end development processes, which usually means 12 weeks of typical time needing to be allotted for dedicated development. Making­ an app usually doesn’t take a year, but it does take time depending on requirements, functionality, etc.

Keep in mind that this only takes into consideration the development of a single platform. If you want to release your application on both iOS and Android, you can expect to double the time and cost for a project of any typical scale. Thankfully, the company had done some heavy lifting early on by having completed the design stages, which gave us the opportunity to focus purely on dedicated development.

A Viable Option Applied – NativeScript Mobile Development

It’s true that many cross-platform development tools end up compromising on native access and performance, leaving you with an okay web-view app. NativeScript, on the other hand, allows you to create native mobile applications for iOS and Android simultaneously. Here is why we chose NativeScript for the project:

1. Familiar Framework:
NativeScript is an open source JavaScript framework that allows you to use familiar web dev languages and practices. By allowing developers to use the languages they already know, like JavaScript, CSS, Angular, and even Vue, they can create quality products quickly and efficiently.

2. Single Code Base:
NativeScript cuts the time and money of development in half by using a single common codebase for both applications. Although it is not a 100% sharing of code, NativeScript cuts out nearly 90% of the workload one typically devotes to fully native development.

3. Native Performance + UI:
NativeScript allows you to access native iOS and Android features by calling the same API’s you would get by developing in XCode or Android Studio; it looks and acts just like an iOS or Android application. There is also an ever-expanding open-source library that is improving its capabilities at a rapid speed.

Despite the convenience and performance of NativeScript, there are a few small compromises. There is a negligible difference in speed when comparing NativeScript applications with those that are fully native; it is a few milliseconds slower during start-up. That is a fair trade for the weeks or months of time saved during development.

The Project Outcome

We began re-developing the app using NativeScript and followed an Agile development methodology, checking our development targets with the client along the way. After confirming the design directions and objectives of the app, the team at Microexcel developed the application infrastructure for both platforms in just two weeks. Once the initial version of the project was complete, we tested and validated that the final product met the client’s exact specifications. In just two weeks, using NativeScript, the client finally had the app they wanted for both platform, which was something that had previously taken one year, with no deliverables to show.

The Original Estimate Before Work Began:

Initial Development for a Minimum Viable Product (MVP) – 1 month

Fine Tuning, Bug Fixes, and Product Preparation – 1-2 months

Total Project Time Estimate – 12 Weeks

The Realized Outcome Using NativeScript:

Initial Development (MVP) – 2 Weeks

Fine Tuning, Bug Fixes, and Product Preparation – 2 Months

Total Project Time – 10 weeks

Project Summary

Although we had planned for a month of dedicated development to the architecture and functionality for the client, it ended up only taking two weeks with our full attention. By combining the power of NativeScript and the back-end efficiency of Firebase, the app became a full functioning cross-platform product in less than a month.

With the extra time in the development cycle, we could iron out all the bugs and fine tune the application on the front and back-end to work seamlessly within all use cases. We also are able to offer regular app updates because we only need to work within a single code base to create changes. Not only did the app end up becoming a successful project, but it is now easy for our team and the client to maintain the application and expand it for the future.

If you want your app to be released across multiple platforms for total accessibility, or even if you were planning to only develop for a single system, NativeScript is a viable and cost-effective choice.

Got an app idea or need one fixed?

If you have questions about creating an app, upgrading a current app, or just wonder what it would take to make your ideas a reality with NativeScript, give us a call. We have expert developers who know the ins-and-outs of this platform and can walk you through a project using NativeScript.