BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Opinion: Tim Bray on the Web vs Native Debate

Opinion: Tim Bray on the Web vs Native Debate

This item in japanese

Tim Bray who spoke recently about this topic during his talk to the Seattle Androids Developer Group, provided a detailed set of arguments to the debate without necessarily taking himself a definite position. He starts by a short disclosure:

I’m a Web guy... the Web has kept provided me with a steady paycheck since 1994, and there’ve been a couple of extra paydays along the way. So, I understand the Web, I like it, and I owe it.

First, he recommends that we start by qualifying the question:

Basically, almost everything on a mobile device needs to use the network, and almost everything does it via HTTP.

So for him, pretty much all mobile applications are "Web applications". What people have in mind when they talk about "Web Apps" is a mobile application written with HTML, JavaScript and CSS. On the native side,

you ship compiled code that talks to a framework like CocoaTouch or Android or WinPhone7.

He explains that the big reason why games are written in native technologies is the ability to reuse existing engins like Unity and Unreal. In essence, C code is shared at that level between Android and iOS.

The big advantage of Web technologies, like game engines, is their ability to reuse client code across platforms. He contends that if the number of dominant platforms remains at two, the advantage of Web technologies in terms of cross-platform reuse might be small. If on the other hand the market becomes fragmented and application developers need to support Windows Mobile 7, RIM or WebOS, Web technologies might shine.

He sees some concrete barriers today for Web technologies such as access to on board features and performance but they are not unsurmountable. For him, the problem for Web technologies is more at the tooling and culture level.

The Android and iOS frameworks are built by elite, energized teams working with a laser focus on making it real easy for developers to build snazzy native apps.

The success of Web frameworks may also become their worst own enemy:

there’s a paradox-of-choice issue: Consider EveryJS, which lists 21 different JavaScript toolkits, and I bet most of them are really good, and I also bet there are lots more I’ve never heard of. Which are you going to bet on?

And he concludes, despite the intensity of work on the Web frameworks "It’s far from obvious that the browser is catching up."

Tim also warns that the problem that PhoneGap and Appcelerator are trying to solve by providing a solution where you can work with shared Web-based code and still have a native look and feel, including a presence in the App Store, "is really hard; much harder than it seems on the face of it."

Tim also provided his own case study with the Trip It application which provide both versions for no apparent reason since it doesn't really use any capability that a Web framework could not support. He concludes, like many smart phone users:

Here’s another piece of evidence: On my phone, I use the [Trip It] app always, the website never. Also, I’m a paying customer, and it was the slickness of the native app that helped push me over the free-to-paid line.

A smartphone is a very complex device, where a new kind of applications, "converged applications" are being developed everyday by tens of thousands developers. They are changing and often simplifying our everyday lives to a point that was unimaginable even two years ago, be it in health care, location-based commerce, social networks, finance (where depositing checks or accepting payments directly from your phone is increasingly common), entertainment... Even though they are all relying on HTTP, the device itself is also using a number of other telephony protocols which have been optimized for bi-directionality, network authentication, micro-billing, power and bandwidth consumption, unliked the Web which pretty much always assumed tethered, always on, devices. 

Will the users keep prefering native apps, and the convenience of an App Store, or are they all dreaming to break away from a brutal business model and roam the web with the familiar ads. Are you on the fence like Tim? or did you already make up your mind? How many native apps vs web apps to you actually use yourself?

 

Rate this Article

Adoption
Style

BT