Getting a Coding Job: Native Mobile Apps for iPhones and Android Devices

By Nikhil Abraham

You may want to develop native apps to work in coding. Native mobile apps can be faster, more reliable, and look more polished than mobile web apps. Built using Java for use on Android devices, and Objective‐C or Swift for use on Apple devices (iOS), native mobile apps must be uploaded to an app store, which may require approval.

Facebook’s native mobile app (left) and mobile web app (right).

Facebook’s native mobile app (left) and mobile web app (right).

The main benefits of an app store are its centralized distribution and capability to curate, catalog, and feature apps, which can drive downloads. Also, because native mobile apps are programs that are installed on the mobile device, they can be used in more situations without an Internet connection. Finally, and most importantly, users appear to prefer native mobile apps to mobile web apps by a wide margin, one that continues to increase.

Native mobile apps can take advantage of features that run in the background while the app is minimized, such as push notifications, and can communicate with other apps. These features are not available in a mobile web app. Additionally, graphics‐intensive apps, such as games, perform better as a native mobile app.

Although native mobile apps offer better performance and a greater number of features, they require longer development time and are more expensive to build than mobile web apps.

Another way to build a native mobile app is to use a hybrid approach that involves building an app with HTML, CSS, and JavaScript, packaging that code using a wrapper, and then running the code inside a native mobile app container.

The most popular wrapper is a product called PhoneGap, which recognizes specific JavaScript commands that allow access to device‐level functionality that’s normally inaccessible to mobile web applications. After one version of the app is built, native mobile app containers can be launched for up to nine platforms, including Apple, Android, Blackberry, and Windows Phone. The major advantages to using this hybrid approach follow:

  • You can code the app using languages you already know, resulting in a much smaller learning curve.

  • You can build your app once, and then release it to many platforms simultaneously.

  • You can prototype, test, and receive feedback on your app quickly and more easily than when building a native app from scratch.

Major apps, such as the BBC’s Olympics app, have been built using this approach. However, if the app takes off, it is often rebuilt into a purely native version to increase speed and reliability.

Imagine you know how to play the piano, but you also want to learn how to reproduce the sound of a violin. One way you could do this is to buy a violin and start learning how to play. Another option is to buy a synthesizer keyboard, set the tone to violin, and play the keyboard so that it sounds like a violin.

This second option is similar to the hybrid approach, except in this example, the piano is HTML, CSS, and JavaScript, the violin is a native iOS app, and the synthesizer keyboard is a wrapper such as PhoneGap. Just like the synthesizer keyboard can be set to violin, cello, or guitar, so too can PhoneGap create native apps for Apple, Android, and other platforms.