Creating native mobile apps without writing native code

Native programming can strike fear into the heart of anyone that doesn’t know how to write it. While we as programmers understand our limits and capabilities, we still like to brag about the complicated function or route we just wrote.

But just drop the words “Objective C, or Android Java” into the next conversation you have with fellow programmers and see who starts biting their nails.

It’s well known that the path to building a great mobile app doesn’t have to be native though. But it’s also well known that the farther you get away from the native languages of the operating system you are programming for, means the further up the “stack” you have to go. The “stack” meaning the low-levels of the API’s exposed to you by the manufacturer.

Why native code matters

So why would I care if I move farther up the stack? Because if you need to do something that isn’t supported in the higher-level language you are using, you can’t do it. For example, with the Corona SDK I can call a simple web view control with just one line of code, compared to around 7 lines using Objective C, so Corona makes it easier to program, plus it’s cross-platform.

But if I needed to overlay something on top of the native web view, I can’t – Corona doesn’t support native web view overlays, something that is no problem with Objective C. And that’s just one of the hundreds of use cases when programming away from the native language.

Even though programming natively seems like learning Hebrew to some, there’s good news! Progress has a solution that demystifies the native stack using what’s called JavaScript-Driven Native(JSN) development. It marries the concept of web development and Native app development together into a whole new way to develop for mobile – and lets you program right down to the native layers.

Creating native apps without native code

NativeScript, which was developed by Telerik (a company acquired by Progress in 2014) as an Open Source project that stands as a leading JSN option for developers. NativeScript however, isn’t a language, but rather a way that native mobile apps can be created using JavaScript or TypeScript.

And not only does NativeScript play well with other JavaScript frameworks link AngularJS and Vue.js, but the framework is structured to allow for direct access to Native APIs through JavaScript which is a huge boon to developers of similar style frameworks who rely upon a “bridge” to the native side.

Progress (recently named a “Visionary” in Gartner Magic Quadrant for Mobile App Dev Platforms (MADP) has an extensive e-book, which explains more about the mobile concepts I’m talking about in this write-up, as well as getting started with NativeScript to create native apps using a simpler method.