Mobile Development: Web App vs. Native App, Should You Go Native?

native mobile development vs html5

Note: Learn more about Native vs HTML5, visit the Mobile Development Competency Page

The Eternal App Debate: Native App VS Web App

Today, no one can dispute the meteoric risk of smart phones and the way they have changed our daily habits. Kleiner Perkins in their last annual internet trends report, count close to 1.14 BILLION smartphone subscribers worldwide, with China leading the way at 270M, USA second at 172M, and Japan third at 78M subscribers.

Having a smartphone with you, connected to the internet, has changed our daily habits. It is easy now to check emails, catch up on some news or work any time of the day.

Enterprises are becoming aware of the tremendous increase in productivity these devices are now bring to their workforce, esp in field sales, field services management, & field audits. Additionally, given consumers browsing habits, enterprises are keen to ensure that mobile is a channel for top-line revenue growth as well, whether it is m-commerce or educating customers on products and services.  2013 will now be the year of Mobile in the Enterprise.

However, Enterprise CIOs still have to wrestle with several complicated issues when thinking about Mobile. We will tackle just one important question in this article today. The issue is platform proliferation and the main question arising from this issue is: Do we build a Web App or do we build Native Apps.

 

Making a Decision

The answer as they say, depends. Depends on what your App needs to do, and also what your constraints are (usually budget constraints). Here are the factors that you will need to weigh to make that decision.

App Features

While Web technology is catching up quickly, it still lags behind Native Apps. HTML5 now gives you access to the Accelerometer, GPS, & even the Compass but basics like Camera access are missing from Safari on iOS. Features we take for granted like custom keyboards are also not available. Second & more importantly, there is no good solution/substitute yet for Push Notifications if you use Web Apps. You can also be sure that any new device features will first be available natively and only much later through the browser.  Here is a list of what is supported on various browsers.

User Experience & App Performance

Native Apps deliver faster & smoother apps. If your App needs complex animations, or gestures like swiping, chances are, the Native App will outperform the Web App. The movements will be slightly laggy, but enough to potentially turn off your users.

Monetization

Usually this is not a concern for enterprise apps. Monetizing apps is easier in the App stores if your strategy includes selling Apps or using in-App purchases to drive revenue. This is because billing is built in into the Google Play & Apple iTunes Stores. Otherwise subscriptions, Ad based revenue etc, are not that different whether you build a Native App or a Web App.

App Distribution

Most people seem to be of the opinion that App distribution is easier for native Apps. However, I disagree. App discovery is a huge problem right now. Whether it is a Web App or a Native App is immaterial. Is it harder to type in a url or to download an App? Neither.

What matters more is your marketing strategy and how you drive people to discover your Apps. Whether it is paid advertising, social media driven viral marketing or some other strategy, this is the most important piece of the puzzle for consumer facing apps. Without a solid marketing strategy, you might as well not build an App.

App Updates

Writing an App is just the first step. Right afterwards, you will want to release the next version; whether it is to fix bugs, introduce new features in response to user feedback or improve the user experience. Here two factors complicate the situation for Native Apps over Web Apps. First and foremost, you need the user to download the latest version. This is usually out of your control unless you force the user to download. Second, in the iOS App store there is a lag of up to a week. In Web Apps, you don’t face these challenges; your users are always using the latest version.

Cost

This is the big one. Costs are affected by two factors:  How many platforms & form factors you decide to support? iOS, Android, Blackberry, Windows, Tizen? Phone, Tablet, Phablet? AND the programming talent & work required to support those. Developers familiar with web technologies are more abundant, easier and cheaper to hire than experienced Native developers. Once you decide to support more than 2 platforms and more than 1 form factor, the costs of building Native Apps become much more than the costs of building a responsive Web App. However, even when building Web Apps, you should not underestimate the costs associated with optimizing for the various browser versions/device/manufacturer combinations out there. Which brings me to the next factor, which is the main reason we are having this conversation, i.e. Platform Proliferation.

Platform Proliferation & Fragmentation Challenges

Native Apps suffer from tremendous platform proliferation challenges, and within each platform face additional fragmentation issues. With the stakes so high, companies will not back down from trying to introduce new Mobile OSes. The OS landscape will continue to grow beyond iOS & Android, with Windows, Blackberry, Tizen, and as yet unknown future attempts. Within Android itself, we are seeing Samsung and Amazon take their own spin on Android. We still see non-trivial number of Android users stuck with Android 2.x versions. Add to that different aspect ratios, resolutions, sizes, additional manufacturer tweaks, & sometime the whole Google Play store missing, the ecosystem is a mess. I don’t mean to single out Android. Every platform has it’s challenges. Older Windows 7 phones cannot upgrade to Windows 8.

The situation is slightly less challenging in HTML5 Browsers. We have Android Chrome & iOS Safari, but browser versions continue to be different on Phones, especially Android. Additionally, there are other browsers like Mobile Opera, Amazon’s Silk, & Firefox.  Web Apps are inherently better suited solve fragmentation challenges. It is a case of “Write Once but Optimize Everywhere”. The challenges of testing and optimization on multiple target device/browser combinations are still present & not trivial.

Security

Security is the biggest advantage Native Apps have over Web based Apps. More and more of the Application logic in Web Apps is now stored in Client side JavaScript, & it is relatively easy for someone with malicious intent to see the source code. Unfortunately, I have come across sites, where even API keys were included in the source and easy to see. Beyond just sloppy practices, Native Apps are harder to tamper with, while Web Apps are susceptible to all the usual suspects like cross-site scripting, cookie manipulation, & sql injection. Additionally, HTML5 does not yet provide a way for cached data to be encrypted.  Native Apps are usually easier to secure than Web Apps.

 

Final Thoughts

So what’s the bottom line? You need to weigh what you want to develop versus the factors outlined above. Generally speaking, if you are developing a more consumer focused app with cutting edge features, slick animations & fast performance, you will probably need to lean towards Native Apps. As an Enterprise however, specially on internal apps focused towards employees, chances are that a Web App will be a lot more cost effective and easy to maintain.

Download our Free E-Book and learn how the Product Mindset can benefit your mobile app. 

Through this guide, we want to give you, product owners, product managers, engineers, entrepreneurs and anybody looking to build great digital products, more insights into the importance of user-centric design and development and how to correctly achieve it.

How Product Mindset Can Save your Sinking App

You may also like:

Post Your Comment Here