Allen Ellison’s Technobabble


Native Applications

Native Applications for Mobile Devices

I’m finding that the term ‘native application’ is overloaded — and that there is the opportunity for mis-communication — particularly when talking about native applications for Android phones.

Here are some common usages that I see:

  • native applications = native code — in the strictest of definition, third parties can not write ‘native applications’ for Android devices — as they can only write managed applications. Java applications are considered (just as Adobe AIR applications are considered) to be “managed applications”, whereas un-managed applications, comprised of low-level machine code (in computer science, ‘native code’ is synonymous with ‘machine code’), are considered by many to represent more of a security concern as managed applications are more constrained in terms of what they can and can’t do.
  • in the mobile space, a common usage of the term applies to any mobile application experience that takes place outside of the browser, whether it was pre-installed on the device or it was an application available through the device’s marketplace.
  • if you google the term ‘native applications’, it quickly reveals that many non-technical mobile users think that the term is used to denote applications that come pre-installed on the phone and that any application downloaded from the Android marketplace would not be a native application.
  • Steve Job’s public rants about Flash and the iPhone have created an interpretation within the iPhone community that ‘native applications’ are applications originally written in the language and provided strictly using the toolset chain provided by the O/S-provider and don’t use  any intermediary translation or compatibility layers or tools.  By this interpretation, an application created using Flash Builder or Flash CS5 would not be considered a native application.  But strictly speaking, neither would the vast majority of applications on the iPhone.

In my opinion,  when someone uses the term ‘native application’ in reference to their mobile phone they are most likely referring either to applications that came pre-installed on the phone or could be downloaded via the device’s marketplace (or in Android’s case can sometimes be installed by downloading the .apk from the web or alternative marketplace) – without differentiating between the technologies used to create the application or the runtime that the application leverages.

In other words, they are referring to a non-browser application experience.

Disclaimer: The opinions expressed herein are my own and do not represent my employer’s views. My statements should not be considered official or sanctioned by my employer or any other organization I’m affiliated with.

Advertisement

Leave a Comment so far
Leave a comment



Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s



Follow

Get every new post delivered to your Inbox.

Join 137 other followers