It’s easy to see why so many people don’t have a full understanding of the differences between native mobile apps and web apps when we consider that so many of the biggest companies out there use both successfully (and similarly).
Take YouTube for example.
I took a screenshot of the mobile app on my Android smartphone, and then of their mobile website. They look and function almost identically. The only difference you can see is that the web app has Google Chrome’s address bar at the top.
So then, that begs the question: why would Youtube need both if they’re effectively the same thing?
The answer is simple: because they can. Youtube’s platform is built for multiple devices, which means that people use their website on phones, tablets, and desktop computers. They wouldn’t have a desktop website that doesn’t work on mobile, right?
On the other hand, there are some benefits to having the native app such as usability. Many people, like me, find it easier to click the app button on their home screen rather than bringing up the browser and typing the website in.
In Youtube’s case, their platform doesn’t rely on the customization or hardware needs that an app game might need. Theirs is a simple enough application that it can work equally well on either, which means they can take advantage of the benefits of both (because they have the budget for it).
So what’s the actual difference between these?
While researching for this article, I came across many lists that compared the two saying things like “Web apps are cheaper” and “Mobile apps can have more functionality”, but I wasn’t satisfied with how few real examples I found to give context to these points.
I’m going to do exactly that.
Example 1: A simple native app that won’t work as a web app.
As a disclaimer, web app development has come quite far and is progressing more and more each day, which means that at any given moment, this example and others could be proven wrong.
That out of the way, let’s look at a classic app many of us used to have (but don’t anymore): A Flashlight App.
Smartphones have these built in by default now, but before they did, we used to open up a Flashlight app, turn it on, and use the phone’s camera flash light to find our way around dark rooms. This needed to be a native app because websites can’t get access to your phone’s light and turn it on.
Instead, when you search for “flashlight web app”, here’s what you see:
“It uses your computer’s screen” because it doesn’t have access to the hardware within your phone to turn the real flashlight on. It doesn’t satisfy the basic use-case of the app as a web app, so it doesn’t work as one.
Example 2: A more complex native app that doesn’t work as a web app
The best examples you’ll find in this category are mobile games. Because they’re so requirement-heavy, many of them need to be able to store a lot of files on your phone to be able to operate smoothly.
The popular game Minecraft has a native mobile app game called Minecraft: Pocket Edition. While this game is accessed by a huge audience, going to their mobile website won’t provide the same experience. Not to mention, this game can be played in an offline-mode because the native app stores files on the device. This just isn’t possible with a web app.
Instead, their mobile website functions as a sales tool to educate you on the game’s features, while offering the options of signing up and linking to the App stores for further download.
Example 2.5: The one mobile game I’ve seen that does work as a web app
For a couple of years, I was a pretty active mobile-gamer (at least until I had already played all of the ones that caught my attention) and I only ever came across one mobile game that was a web app. It’s a Japanese game called Granblue Fantasy and, even though it has an English setting for text, I had to go through the Japanese web page and load it up there.
I was interested in the game, but I gave up on it very quickly due to the inconvenience of bringing it up in my web browser and then having to scroll around the pages because that pesky address bar got in my way. This is an example where I strongly believe they would benefit from a native app release (they’d get at least one new customer…)
Example 3: A web app that doesn’t work as a native app
Okay, this example heading is a lie. To date, there aren’t any web apps that I know of that wouldn’t work as a native app.
However, I thought I’d use this space to touch on where a web app might outshine a native app.
1. Price: Developing a web app is usually much less time-intensive than developing a native app, which generally makes them more affordable and faster to get to market. Plus, if you’re starting a new business, you’ll likely need a desktop website to be found in search engines, and a well-built web app also functions as a full desktop website without much trouble. Let’s Camp is a good example of this:
2. Accessibility: Getting an app into Google and Android’s app stores means meeting their criteria and being approved. It could technically take a while to get approved or worse—rejected entirely. A web app doesn’t need to be approved by anyone. Further, it can be accessed on older or more unique devices that may not have access to the most up-do-date app stores.
3. Monetization: Native app payments are made almost exclusively through the app store (initial purchase or monthly subscription), whereas a web app has full control over how payment is taken and processed from clients. This makes it easier to run things like Google ads and other alternative sources of revenue generation.
My Final Ruling
Of course, there are more subtle details behind all of this, and everything should be considered on a case by case basis. That said, I’m going to give you my general guidelines as a starting point.
- If/when you have the resources, create both. I can’t think of many well-known web apps that don’t also have a native app. Having both isn’t cheap, but it’s the best way to get the best of both worlds in the long-term.
- If you can only choose one, choose web app: If your app is simple enough that it will work as a web app, start with that so you can also get a desktop website out of the deal and get the most bang for your buck.
- Build a native app if it’s too complex to work as a web app: If you’re in one of those rare situations where you’re making a game or something else extremely complex where a native app is your only choice, well, then of course do that!