In the second post in our most commonly asked questions series (see our first post here), we’re answering a question we hear from almost every client who has made the decision to build an app – should I build a native app or a mobile web app?
The short answer
Generally speaking, once you've decided to build an app, there are two possible directions to take: native or mobile web. The basic difference between the two is that native apps are built to be downloaded onto a device whereas web apps live and run on a web browser. Consequently, building a native app is considered a bigger project than a lighter-weight web app.
While there are exceptions to the rule, at Rocket we almost always recommend to design and build fully native mobile apps. There are several reasons for this. First, native apps allow for the fastest and richest user experience. Native UIs refresh faster than web UIs, and, furthermore, it is easier to control the latency from data requests in a native app. Simply put, native apps perform better and at higher speed than web apps.
Second, you can access deeper, system-specific functionality with native UIs than you can with web apps. Native UIs can take advantage of features that are much harder to access via web apps. These include notification services, location services, and a device’s camera and microphone. These features add up, offering users a richer experience in a native-built app than they would otherwise have in a web-built counterpart.
So, yes, native apps are a bigger project. But they’re also faster, better-performing, and offer an all-around richer user experience. And that’s why we can’t help but recommend building native apps.
Now for the nuance…
Let’s talk about long-term maintenance for your mobile app. Maintenance is super important to consider when building an app (even though it may seem like a long ways off) because maintenance will be an ongoing investment you and your business will have to make.
Fortunately, our experience shows us that native apps win in this category as well. They are easier to maintain over time for the simple reason that it is easier to find developers out there to do the maintenance for you. It seems counterintuitive but lighter-weight web applications actually require increasingly specialized developers to maintain that code. Hiring a good developer in this category is hard, simply because the pool of candidates to choose from is so small. You might find yourself stuck with a less-suitable, less-skilled candidate just because they were the only option. You might even have to hire additional developers just to cover your bases. If you start with a native app, however, you’re not only looking at a better pool of candidates, you’re looking at a bigger pool. Native apps, although comparatively bigger projects at the outset, are for this reason typically easier to maintain than web apps.
Okay, great. Native apps are not only faster, better-performing, and richer in the user experience they offer… they’re also the wiser, more proactive choice long-term. [For some proof, take a peek at our work with EzCater. Prior to our work with them, ~10% of EzCater’s business came from their web app. After helping them level-up to a full-fledged, native app, that number ballooned to 50%.]
So, then who in their right mind is building web apps??
There are definitely circumstances that we at Rocket think would justify building a web app.
A web app would be suitable for someone seeking a lightweight application for a transactional service. In short, someone looking to build an e-commerce application. We won’t lie, Shopify is hugely popular among e-commerce retailers for a reason. It is a robust, easy-to-plug-in platform that is capable of a heck of a lot of work. However, you must be okay with setting your bar for success at Shopify’s. An e-commerce web app powered by Shopify can handle lightweight, web-based traffic really really well. But if you want to go the extra mile for your users and outdo Shopify’s (perfectly acceptable) user experience, you’ll have to look beyond web to native apps.
This is a loaded topic that we often discuss (cough debate cough) internally, and always leads to interesting discussions with existing and potential clients. While this article may imply that we think this question is always clear cut, the reality is that it's not. So if you're wondering what the right move is for your app, drop us a line at firstname.lastname@example.org and let's hash it out.