Say What?! Native Mobile Apps

You say: I want a mobile app. The developer says: Do you want it to be native?

You say: I want a mobile app.

The developer says: Do you want it to be native?

What it means:
On your computer you’ve got the web and web apps, like Gmail, Hulu, and Facebook. You’ve also got a bunch of desktop applications, like Microsoft Office, Outlook, or iTunes.

Web apps are built using web programming languages, such as PHP, Python, and Ruby. Web programming languages work on web servers and are accessible via web browsers. They are designed to suit the specific and unique requirements of web apps. Desktop applications are designed to run on your computer, without access to web servers, and are written in programming languages designed for that specific purpose, such as Java, C#, and C++.

Then there’s mobile phones! Mobile phones are like really small, but powerful, computers. And like your desktop computer, they can run web applications via their mobile browser or mobile applications, which are the mobile phone version of desktop applications.

When a developer asks if you want to build your mobile app native, they are asking if you want to build a mobile optimized web application, or a mobile app built in the programming language designed to run on that mobile phone.

On iPhones the programming language is called Objective-C, which is a proprietary programming language developed by Apple and is similar to the C programming language. Mobile developers use it in combination with Cocoa Touch, another proprietary Apple framework, to code up all those touchable iPhone apps. Objective-C and Cocoa Touch power most of the mobile apps you download from the iTunes app store.

On Android the programming language is Java, which is an open source programming language. Java also powers all Blackberry phone applications.

Do I have to build native? Should I build native?
Like all things web and computer related, there are many ways to skin this mobile app development cat.

First off, you don’t have to build your apps native. There are a myriad of mobile app development frameworks like jQuery Mobile and PhoneGap that make it possible to use web technologies like HTML5 and JavaScript to build mobile apps.

The benefits to this approach are many: your mobile app will work on all mobile phones, you can use one codebase, the cost of development is lower…

And some major companies are using this approach to great success. The Financial Times released their app as a web app, and Onswipe is a whole company built on the premise that the movement is towards mobile web.

That said, it is hard, if not downright impossible to fully recreate the buttery smooth, native app experience using web technologies. And, iTunes is still the number one mode of mobile app distribution and they don’t tend to look too fondly upon non-native apps.

But of course, building native usually takes longer, costs more…