The debate has raged for a couple of years around the best way to build mobile apps, with native applications being the dominant style up to now and Web applications heralded as the future of mobile development. The temptation to see this as a race with a clear winner is palpable, but too simplistic and inaccurate. In reality, these broad swaths of technologies will both prosper, and so will many technologies that blend aspects of the two. We shed some light on this debate and on how things are likely to play out.

Degrees of nativeness
Historically, the term “native” was used in computing to refer to application code developed in the machine language of the computer at hand. All high-level languages that compiled to this language were considered native. Code running inside of layered execution engines such as interpreters and virtual machines was not deemed native.

But things are no longer that simple in today’s mobile computing world. Today, installable apps are mostly served by app stores under the control of the platform owner, so “native” has effectively come to mean installable apps delivered through the app store. Thus, the constituent technologies used inside of an app, or the processes by which the app was developed, are no longer relevant to whether an app is considered native. Apps that rely on interpretation or translation can be native as long as they are bundled with their execution environments into a single binary.

Today, many apps in the major mobile app stores are built with technologies like Adobe AIR, Mono, RubyMotion, or game engines like Unity. This of course is appropriate because an app should be measured by its experience and performance, not by its ingredients. Apps that do not measure up may be considered inadequately native and are disallowed from app stores.

Web disillusionment
Meanwhile, a standardized way for coding client-side applications has been making progress faster than ever in the shape of the Web platform. It is a complicated story as to why browser and platform vendors finally decided to agree after prolonged inaction, but a Web platform (HTML5, CSS and JavaScript) has now emerged to build powerful apps.

This has led many to declare that the future will be a world of Web apps that will drive native apps to extinction. But reality quickly set in as the maturity of the Web platform was called into question by none other than the CEO of Facebook, who poignantly decried how his company’s strategic pursuit of mobile Web apps cost it precious quarters of financial success. Facebook re-implemented its apps with native technology and appears to have successfully turned its mobile business around.
IDC’s native Vs. Web prediction
A more accurate assessment of the Web platform is somewhere in between, as this IDC prediction from a recent Predictions Webinar stated: