Whether it is life or technology, the only constant is the change. There was a time when developers used to create separate websites for mobile and desktop devices. This required twice the maintenance work. We then soon entered the era of web apps and responsive web design. Both of this are relatively easier and better approaches to make a website accessible on all devices. And now, with the incredible growth and adoption of mobile devices, native apps are severely dominating both web apps and responsive websites.
While all the above approaches solve the issue of mobile-friendliness to a great extent, they have their own limitations and present a number of challenges for developers and users alike. Native apps require being installed on users’ devices. On the other hand, most web apps and responsive websites are unable to deal with the connectivity problems. To address all the issues which persist in native apps, web apps, and responsive web design, Progressive Web Apps come into the scene.
In the simplest terms, Progressive Web Apps are all about delivering users a native app-like experience in browsers by leveraging the power of modern web technologies like HTML5, CSS3, and JavaScript. Combining everything that is great about a responsive website with everything that is great about a native mobile application, they ensure your users will get the best experience possible. Since Progressive Web Apps are built to run inside a web browser, they run seamlessly and identically on all devices, including mobile, tablet, desktop, laptop, or whatever comes next.
According to a study, 20% of users are lost during every step of the app download process. In order to use a native app, a user must first load an app store, find the app in the app store, wait for it to download or install, accept permissions, and then finally, he can use it. Also, the app can take up a huge amount of internal space before the user even starts using the app. A progressive web app, on the other hand, eliminates the need for unnecessary downloading and installation steps – making it a one-step process. As soon as the user finds the progressive web app, he is able to immediately start using it without having to download it from any app store.
To be identified as a progressive web app, an application must have the following traits:
Progressive: Here the word progressive means the app must work for every user, irrespective of what browser or operating system is being used.
Responsive: The layout and design of the app must adapt to any form factor and screen size: mobile, tablet, desktop, or whatever is coming next.
Independent of the Connectivity: If not complete then at least some areas of the app must function properly even in the absence of internet connection.
App-like: The app shouldn’t look and feel like a website, but rather as a native app as much as possible.
Fresh: Whenever new content is published and the user goes online, the app should automatically update itself without the need for any user interference.
Lightning Fast: The app must load at the speed of light, even with limited internet availability.
Safe and Secure: The app must be rendered via HTTPS to eliminate the risk of man-in-the-middle attacks and ensure content hasn’t been manipulated.
Discoverable: Despite being treated as an application, a progressive web app is a website and therefore must be discoverable by search engines.
Engaging: The app must be able to re-engage the user with web push notifications, in a similar way to native push notifications.
Easily Installable: Users must be facilitated with an option to install the website as an app to their device’s home screen without having to download and install it from an app store.
Linkable: Sharing the app should be as simple as sharing the URL, without any complex installation.
Main Components of a Progressive Web App
Like any other technology, a Progressive Web App is also implemented via a set of technologies, design concepts, and Web APIs. Let’s walk through some of the key components needed for developing a Progressive Web App.
1) Application Shell:
To offer users a blazing-fast experience, a progressive web app makes use of an architectural approach which is called Application Shell Mode. The Application Shell is essentially the minimal HTML, CSS and JavaScript required to power and render the user interface of a progressive web app in a browser. It isn’t a technology, Web API or a framework, but rather a design concept aimed at loading the web app container before the actual content loads to gives users a nice app-like feel. Using this powerful component, you can empower your progressive app with native app features like instant loading and regular updates – absolutely without the need for an app store.
Whenever a user accesses the progressive web app for the first time, the app shell places all the resources and assets in the device or browser’s cache, making it possible for the app to load as quickly as possible every subsequent time the user accesses the app. Instead of loading everything, the progressive web app retrieves only the necessary shell files and data from the local device’s cache, which leads to blazing-fast startup times. However, the content can be loaded either progressively or dynamically in order to allow users to engage with the app irrespective of the internet connectivity.
2) Service Workers:
They are the heart of any progressive web app! A service worker is a script running in the background of the user’s browser, separate from a web page. It has a very short lifespan and is responsible for intercepting network requests, synchronizing data in the background, serving assets from the cache and emitting push notifications whenever needed. Acting as a middleman between the progressive web app and the network, a service worker not only speeds up the app rendering but also improves the overall user experience to a great extent.
Because of security reasons, service workers run only over HTTPS, making the entire application as secure as it can be. Technically, they provide a scriptable network proxy to programmatically manage network requests in the web browser. Currently supported by all the major mobile browsers including Chrome, Firefox, and Opera, service workers are an imperative part of any progressive web app as they allow the application to work offline. To sum it up, using the cache mechanisms efficiently, they offer users an error-free, blazing fast experience.
3) Web App Manifest:
The main purpose of a progressive web app is to provide users a seamless, fast experience similar to the one of a native app. With the help of a web app manifest, which is a simple JSON text file, you can control how your app should appear on the user’s device, give users the ability to save the site bookmark to their device’s home screen, define a specific page to load when the app is launched and even define the appearance of that particular page at launch. Using the following line of code, you can add web app manifest to the head section of your HTML page:
<link rel="manifest" href="/manifest.json">
Moreover, you can also use the manifest to launch the app in full-screen mode, define the default screen orientation, and specify home screen icons. It is all done this through setting and manipulating the metadata associated with the web application in a single JSON text file. Eliminating the need for installing anything or going through app stores, the Web App Manifest allows users to access the app right from the home screen of the device.
Given the tremendous popularity of Progressive Web Apps, many prominent businesses have come up with their unique progressive web apps that have turned out to be pretty successful and popular among users. Let’s check out some impressive examples of progressive web apps from some reputable brands:
1) Twitter Lite:
Twitter Lite, probably the most famous example of a progressive web app done right! The main reason why Twitter developed this progressive web app is to deliver users a more robust and engaging experience by facilitating them with instant loading and lower data consumption.
Noteworthy Results:
65% increase in pages per session
75% increase in Tweets sent
20% decrease in bounce rate
2) Voot:
Voot, one of the most popular advertising-led video-on-demand platforms, has recently turned their entire site into a Progressive Web App. Within just a few days of implementation, they have experienced up to 19% decrement in bounce rate and 15% increment in daily views per user.
Noteworthy Results:
19% reduction in bounce rate
80% reduction in page load time
39% increase in session time per user
15% increase in average daily video views per user
77% increase in conversion from visitor to the video viewer
3) George:
George, a leading UK clothing brand, has recently upgraded their site to a Progressive Web App. After the implementation, their conversion rates have been increased by 31%.
Noteworthy Results:
Reduced page load time by 3.8x times
Reduced bounce rate by 2x times
31% increase in conversion rate
20% more page views per visit
28% increase in customer time on site
4) BookMyShow:
BookMyShow, a popular online ticketing platform, improved their mobile website with the Progressive Web App technology. Their mobile site now drives 80% more conversions, which means more users than before are purchasing tickets.
Noteworthy Results:
80%+ increase in conversion rates.
Size is now 54 times smaller than the Android app and 180 times smaller than the iOS app.
The site now takes less than 2.94 seconds to load.
Users can now checkout within 30 seconds.
5) Ele:
Ele, the biggest food ordering and delivery Chinese-based firm, has largely improved its mobile web experience with the help of Progressive Web App technology. Despite their multi-page app model, their mobile website loads much faster even in flaky connections.
Noteworthy Results:
Loading time decreased by 11.6% across all pre-cached pages.
Overall loading time decreased by 6.35% across all pages.
Time-to-consistently-interactive dropped to just 4.93 seconds on a 3G network on the first load.
This article is written by Ashish Kumar. He is an experienced web developer working with XHTMLJunction - PSD to Mobile App Development Service Provider. He always tries to keep himself up with latest web development trends and technologies to boost his productivity and capabilities. In his spare time, he loves to write articles related to WordPress, Web Design, App Development, and eCommerce.
Share the Love
Disclosure: Some of our articles may contain affiliate links; this means each time you make a purchase, we get a small commission. However, the input we produce is reliable; we always handpick and review all information before publishing it on our website. We can ensure you will always get genuine as well as valuable knowledge and resources.
Web Developer & SEO Specialist with 15+ years of experience in Open Source Web Development specialized in Joomla & WordPress development. He is also the moderator of this blog "RS Web Solutions".