The increasing sophistication, functionality, and convenience of web apps have by and large relegated desktop applications to specialized functions. The question now is if web apps can do something similar with native mobile apps?
Interestingly enough, web apps, rather than native apps, seem to have been Steve Jobs’ first choice of app development framework at the launch of the iPhone in 2007. Though that never panned out, web apps may finally be ready to take on native mobile apps.
But before we get to the future of native apps, let’s take a quick look at a significant milestone in the development arc of web apps themselves – single-page applications or SPAs.
SPAs and MPAs
SPAs do exactly what it says on the tin; they comprise a single view page that includes all the presentation markup required by the application. The first click loads the entire page from the server, which is then modified dynamically based on subsequent user requests and interactions. Each interaction sends an AJAX call to the server which provides the data, rather than the entire HTML required to render only the components relevant to the request. In short, once a SPA has loaded, all interactions result in data rather than HTML transactions.
This is in marked contrast to the request-response architecture of traditional multi-page applications (MPAs), where entire HTML pages have to be fetched from the server for every user interaction.
This contrast translates into some fundamental benefits for SPAs over MPAs, including quicker server response, lighter server loads, and limited network activity. There are, however, several other user- and development-side advantages to the SPA model over MPAs.
Benefits of SPAs
On the user front, eliminating the need for constant reloading enables a seamless and more responsive user experience. There is also significantly less lag between request and response, as all components of a SPA are loaded up front. Most importantly, SPAs are even able to function offline, as the first click downloads all data from the server and stores them locally.
On the development side of things, SPAs can streamline development and simplify deployment, compared to traditional MPAs that depend on server-side rendering. SPAs are also easily ported from web to mobile, as the same backend code can be reused and the single-page UI means that even the design can be transitioned without having to make too many alterations.
Though SPAs may have disrupted web apps, they are not, in spite of being mobile-adaptable, really qualified to challenge the dominance of native mobile apps. For that, we turn to a mobile-first approach called Progressive Web Applications (PWAs).
What are PWAs?
PWAs are essentially mobile apps delivered through the web rather than an app store. A Forbes article from March 2018 advised businesses without a mobile presence to simply opt for – and businesses with a mobile presence to quickly migrate to – PWAs. A good PWA, the authors counseled, could at one stroke replace a company’s desktop site, mobile site, and native app.
There has been a lot of similar buzz surrounding PWAs ever since Google publicized the concept in 2015 accompanied by a three-point performance manifesto. According to the manifesto, PWAs had to be reliable even in low connectivity or offline conditions, they had to be fast and responsive to user interactions, and they had to deliver the engagement and experience of a native app.
There is a concept called service workers that has been key to ensuring the reliability and functionality of PWAs even in low connectivity or offline conditions. Service workers are background scripts that sit between the PWA and server, have the ability to cache data for offline use, and act as a proxy to either retrieve elements from the server or the cache depending on the network. Currently, around 90 percent of the global user base is on browsers that support service workers, opening up the theoretical possibility for PWAs to mount a challenge against the virtual monopoly of native apps.
PWAs are positioned in the sweet spot between mobile websites, which are easy to access but short on experience, and native apps, which definitely deliver on experience once the adoption barriers are addressed. According to a 2017 U.S. Mobile Apps Report, a majority of users do not download any apps in a month. Then there is the issue of discoverability in an ever-proliferating mobile app ecosystem. And finally, there’s the process of downloading, activating and accessing the app, where every additional step can lose another 20 percent of prospective users.
PWAs — Advantages
Progressive Web Apps address many of the issues associated with native apps. PWAs do not have to be installed to be experienced as they can run in a web browser. But they can be installed, if the user chooses, without having to take a detour to an OS-specific app store. PWAs do not take up too much space, as there are no humongous APKs to be downloaded, and they are thrifty with memory and data use. From a development perspective, they are relatively cheaper and quicker to build and deploy, as building one cross-platform application can extend the same functionality and experience to all OSes and devices.
On top of all this is the return on investment. For instance, the user acquisition cost for web apps is estimated at one-tenth of that for native apps. Then there are the performance stats in terms of load times, time spent on site, conversions, engagement etc.
PWAs combine the best of what the mobile web and native apps have to offer, while at the same time eliminating many of the limitations associated with these formats. Even some of the biggest beneficiaries of the native app model are now backing the PWA trend. For smaller businesses without the resources to build a desktop site, a mobile site and a couple of native apps, PWAs present a simple and economic route to be a part of the mobile-first economy. True, native apps will still have their own utility, but the future may just be more progressive than native.