reborn55 - Fotolia

Get started Bring yourself up to speed with our introductory content.

NativeScript framework eases cross-platform app development woes

Listen to this podcast

Building apps to run natively on Android and iOS used to mean coding twice. NativeScript with Angular 2 solves this problem by leveraging the JavaScript developers already know.

The open source NativeScript framework, created by Progress Software's Telerik division, was conceived of as a way to build native iOS and Android apps with language skills that developers already likely possessed, including Angular, TypeScript and JavaScript.

At a recent NativeScript conference in Boston, Burke Holland, director of developer relations at Progress, sat down for an exclusive interview about cross-platform app development.

"NativeScript is how you build truly native mobile applications -- without web use -- using JavaScript and Angular, with the ability to re-use all of the existing native libraries, such as CocoaPods and Android Arsenal," says Holland.

According to Holland, there are a lot of frameworks that purport to allow developers to build cross-platform applications with JavaScript. "The way that they accomplish that is they wrap your code in a web view so that you're building a small mobile website that looks like an app, but it's really an imitation."

Burke HollandBurke Holland

The downside of this extra-layer approach, Holland says, is a hit when it comes to performance.

What the NativeScript framework does instead is run JavaScript code directly on the device for direct access to the device APIs.

"The result is a truly native application, but all of the coding is done in JavaScript and markup, which is very familiar to web developers," Holland says.

Mobile web browsers are underpowered by design because device makers do not want developers to "use the internet to bring a device to its knees," says Holland. As a result, the mobile web tends to suffer from performance issues. For a consumer-grade experience where a native app is the best method for delivering high-performance levels, the last thing developers want to do is write that app twice, once for Android and once for iOS. Cross-platform app development technology surmounts that obstacle.

If you've learned how to build with Angular 2, you should now be able to build native mobile applications as well without having to learn anything else.
Burke HollandProgress Software

"NativeScript allows you to write that app once," Holland says.

Though the NativeScript framework currently runs on a developer's desktop system, Progress is looking to provide a "cloud-built service" so that developers who don't want to install or configure Android, or who don't use a Mac, can still build apps by saving their code and having a compiled binary returned.

The relationship between the NativeScript framework and Angular

In February 2015, as Google was developing version 2 of its Angular development framework, the company approached Progress with a rhetorical question: What if people wanted to use Angular to develop for more than just the web?

By pulling out the DOM (document object model) and dependencies on browser HTML, it's now possible to "intercept" Angular at any point and render it for different platforms, Holland says. This allowed Progress to implement NativeScript support for Angular, so that the same Angular code people were learning for the web could be used, through markup alteration, to make applications truly native for Android and iOS.

"You have the full ability to re-use and share code between the web and truly native applications," Holland says. "If you've learned how to build with Angular 2, you should now be able to build native mobile applications as well without having to learn anything else."

In the remainder of the podcast, Holland extends the idea of cross-platform app development with comments regarding the need for developers to have expertise in calling native device APIs, discusses how to handle and manage the torrent of APIs that is raining down upon IT departments, explains the realignment of Progress's cross-platform app development developer tools and frameworks under the DigitalFactory initiative and reviews Progress's support for ASP.NET Core, Microsoft's Xamarin, and Telerik's Kendo UI.

Joel Shore is a news writer for TechTarget's Business Applications and Architecture Media Group. Write to him at [email protected] or follow @JshoreTT on Twitter.

Next Steps

Which mobile app development platform is best for you?

JavaScript for Java developers

The Angular framework always keeps testing in mind