The Great Mobile Performance Debate

By Posted in - Business on August 8th, 2013 0 Comments The Mobile Performance Debate

As web performance (esp. JavaScript performance) has improved in recent years, there arises a natural desire by web developers to replace more and more native applications with web applications. Google made the Chromebook with this trend in mind. In the desktop/laptop world, the web definitely is taking over. In the mobile world, not so much.

Mobile devices have certainly seen huge improvements in JavaScript performance. In fact, one can find a number of mobile web apps in production. Despite the improvements, a significant gap still exists between web and native performance on mobile devices.

The Mobile Debate

Drew Crawford wrote a brief blog post on the slowness of mobile web apps that generated heated discussion. He followed up with a lengthy post describing the performance challenges mobile web apps face presently and will continue to face in the future. Some of the factors he cites include: hardware limitations, diminishing improvements to JavaScript speed, and JavaScript design (especially how it handles garbage collection).

In response to this criticism of web app performance, Vincent Hardy wrote a blog post titled “Are Mobile Web Apps Slow?” He breaks down web app performance apart, and points out that JavaScript performance does not equal web app performance. He makes a valid point, but any web application complex enough to actually be called a web application instead of a website will almost certainly rely on a fair amount of JavaScript. In short, the answer to his question is “yes”, at least relative to native apps. But, may he’s asking the wrong question.

When Does it Matter?

Although I’m sure the argument will continue for some time, this much is true right now: a significant performance gap exists between native mobile apps and mobile web apps. Accepting things as they are now allows us to ask a more productive question: What difference does performance make to the problem I’m trying to solve?

Performance is only one of a variety of ways of distinguishing between native and web apps. Each approach has its pros and cons. Web apps are cheaper to make and can be implemented once for a large number of platforms. This flexibility comes at the cost of performance. Native apps have significantly better performance. They cost more to develop and, if you want the app on iOS and Android, you have to develop it twice.

This is not a comprehensive list of pros and cons of each approach.  It does, however, show that deciding on which approach to take has a bit more nuance than may be immediately apparent.

What Problem Are You Trying to Solve?

The approach you take to developing a mobile app will depend on your goal. In a world without budgets, the ideal would be to make native apps for everything. Unfortunately, cost matters. If it didn’t, everyone would be driving a Tesla Roadster.

For a small-to-medium sized company that needs to develop an internal mobile app that any employee can access with any device, does it make sense to develop native apps? Probably not. For a company developing a customer-facing mobile app for generating revenue, maybe native apps are the way to go. It can be a complex decision with a number of trade-offs, but performance will always be only one of many factors in making the decision.

Please leave a Comment