With all the existing types and strategies of mobile and web application development, differentiating the final products has become quite an ordeal. Native apps, hybrid apps, web apps, mobile web apps and mobile-optimized websites: some of these have a fine line of a difference, but some are hard to put up against each other because of an almost endless list of similarities.
Naturally, when something is already confusing, the internet makes it even more so. As a result, now there’re some quite weird terms out there (take native web app for instance) as well as oppositions that do not make any sense at all (web app vs. mobile app vs. native app).
To clean up the mess that surrounds various types of apps, let’s try to understand the key differences between them. Most of the focus in this article will be on how the mobile web application type stands out in the crowd since it is the most rapidly evolving one. You will see it for yourself after we cover the topic of progressive web apps at the end of the article.
It all started with desktop, so first things first: when can you call a mobile app something that you open in Safari, Google Chrome or any other desktop browser? This is the trickiest issue, since the difference is rather shallow and no clear hallmarks for either a website or a web app exist.
However, it is common to see a website as an internet resource that passively gives you information, whereas any kind of active user engagement (eCommerce, chat module, personal timeline, etc.) distinguishes a web app. For example, while desktop Wikipedia is a website, desktop Twitter is certainly a web application.
The grey area is huge too, as informational resources embrace user interaction by supporting chat modules, account profiles and personalized dashboards. Take a look at, say, the New York Times homepage: although it still is a news website, the Settings button gives out a strong ‘applicationy’ feel.
The same is true for many other informational websites, as they all seek to engage their visitors and offer them to interact with the interface. It’s safe to say that in a couple of years the internet will mostly be filled with web apps, rather than websites.
For the sake of clarity, let’s spell out something quite obvious. Even when we talk mobile, that one slight difference between a mobile website and a mobile web application doesn’t change. In other words, a responsive (mobile) website has little to no interactive functionality and consists of pages with textual or media information that can be conveniently viewed on mobile devices. At the same time, a mobile web app is not only about mobile-optimized page display, but also about mobile-optimized user engagement features.
Finally, webpages that get distorted on a smartphone (need to be zoomed in or have a ‘broken’ layout) aren’t mobile-optimized and, therefore, exist as desktop-oriented websites only. Hopefully, there will be fewer and fewer of those as the time goes by.
Basically, any mobile web application is a feature-rich responsive website. It exists in your mobile device browser, can be easily found via a search engine and doesn’t have to be installed on the device (although some apps can be, as you’ll see later). The in-browser existence of web apps doesn’t let them work without an internet connection or use the potential of a mobile device to the fullest, but with progressive web app development this is gradually changing.
Meanwhile, a native mobile app is a piece of software written specifically for a target mobile OS in the OS-compatible languages and installed on the storage of a mobile device. Native apps don’t need a browser and can work offline. Unlike a mobile web app, a native app also offers the highest performance possible, since it can freely tap into all the OS and hardware functionality.
An apparent advantage of a mobile web application over a native app is that users can easily discover it on the internet, like any other website. Even if your brand is popular or your marketing is canny and proactive, your native app residing in an app store will never get the same exposure as a web app.
Stores do try to raise discoverability of their new content though. Some hold campaigns where they give users points for clicking on latest apps’ icons and give out a free app/theme download as a reward. Still, the efficiency of these campaigns is yet to be studied, whereas properly optimized search engine exposure almost guarantees success.
The very term ‘hybrid’ was coined to describe something that is in between a mobile web application and a native app. Similar to a web app, this type exists within a browser (although not in a regular one but in the OS built-in WebView) and doesn’t have a complete and free access to the device. Similar to a native app, it has to be installed on the storage of a device and doesn’t necessarily need an internet connection to work.
You may choose to develop a mobile hybrid app instead of a mobile web app mainly if you want to drive more engagement by asking users to install it on their devices, enable offline-use and have a possibility to send push-notification. However, the possibilities of progressive web apps can soon drive hybrid apps out completely.
You’ve probably already picked up from the name that progressive HTML5 web apps are the result of web app evolution. Their enhanced functionality brings out existing advantages of a regular mobile web application and introduces to it strong points of native and hybrid apps.
For example, while still being discoverable via web search, progressive web apps can be installed on a mobile device. When viewing an HTML5 web application, you should tap on the ‘create a bookmark’ line in your browser menu. This will automatically create an app icon on your home screen and add it to your list of installed apps. The icon can serve as a mere shortcut to a web homepage or have a convenient separate UI and functionality, which would almost turn it into a hybrid app.
Technical possibilities of progressive web apps are surpassing those of hybrid apps now and are approaching native app functionality. As of now, an average HTML5 web application can:
- Send push notifications.
- Work offline.
- React to all types of data input (touch gestures, accelerometer output, speech recognition).
- Go fullscreen or change layout according to the device orientation.
- Access geolocation, camera, microphone, device vibration, battery status, etc.
Having started as a web app counterpart for mobile devices, a mobile web application type has come a long way and is still considered a valid development option on par with native and hybrid apps. Thanks to Google’s continuous support since 2015, web apps have evolved into improved ‘progressive’ web apps. Although it’s very unlikely that mobile web apps will ever replace native apps, they have already evened the score with hybrid apps, as they combine search engine exposure with the ability to be installed and use the device functionality.