Why and How to Turn Website into Progressive Web App?
Heard about PWAs (Progressive Web Apps)? Undoubtedly, the reply would be a big YES. The PWA technology has become a buzzword. Every second person in the industry is questioning if PWA is the future of the mobile app industry.
While the debate of the Native vs Progressive Web Apps is quite trending, we’ll today take the less traveled path. We will discuss why and how to turn website into progressive web app. But before that, let’s have an overview of what is PWA.
PWA (Progressive Web Apps)
PWA, in the simplest form, is a perfect blend of both the mobile apps and traditional web pages. It is a type of app that is:-
- Progressive: Can be employed by every user, despite the browser chosen.
- Responsive: Can adjust itself according to the device you are using – desktop, mobile, tablet, or anything.
- App-like: Based on the app layout to make the navigation and interactions resemble that of a native mobile app.
- Connectivity Independent: Can work effortlessly in a poor network or even in offline mode.
- Fresh: Does not demand app update from the App Store; gets updated itself via the service worker update process.
- Secure: Served via HTTPS to ensure higher scale of security.
- Installable: Empower users to keep the app on their home screen without involving App Store in the whole process.
- Shareable: Easy to share and use via a URL.
- Re-engageable: Make it easy to retain customers via native-device features like push notifications.
In other words, it is a type of app that runs on a browser, but looks like a Native app. However, it is not the same as a Responsive website.
Have a doubt? Let’s look into the comparison between a responsive website and progressive web application.
Progressive Web App vs Responsive Website
Responsive websites are designed to make the content fit the screen of different devices, without settling down for lesser-to-no functionalities. This often trim one or two functionalities, which questions the approach to offer mobile-first services. Plus, the data is not stored. It is employed for one-time only.
However, this is not in the case of a PWA. A Progressive Web application is a mobile site that runs on different platforms and serves the end user with the complete package of mobile app functionalities, including storing interaction data, providing push notifications, etc. The app enables you to employ the stored information in the next visit to eventually enhance the end user experience with the app.
Need a more elaborated definition? Discuss with the top app making companies. In case, you have gleaned an idea of what makes PWA better than a responsive site, let’s jump to the benefits to turn a website into a progressive web app.
5 Reasons to Turn Website into Progressive Web App
In general, the process of migrating from website to PWA brings five benefits to the businesses and app developers. These five advantages are:-
- Impressive Performance
PWAs work faster than websites because of the way the underlying technology caches and serves website content. This reduces the load time, improves the user experience and further result in a better customer acquisition rate. The two best examples are Uber and Tinder.
On migrating their websites to Progressive web apps, the loading time of Tinder falls from 11.91 seconds to 4.69 seconds. Likewise, Uber saw a decrease to 3 seconds by transforming their website to PWA.
- Zero Installation Charge
When compared to other mobile apps, the Progressive web apps do not require a lengthy download process and time. The users need not turn towards Google Play Store or App Store. They can directly download and install the PWA. This indicates that a PWA reaches to the users’ devices without compelling them to go through the hassle of tedious and slow App Store processes. The application serves with speed and comfort to both the users and web developers. Along with, it improves the app conversion rate.
Don’t you agree? Google found that Progressive Web App install banner converts 5-6 times more than any native app
- Offline Friendly Working
The websites display restricted content when there’s no internet connection. Whereas, PWAs are usually self-contained. They empower the users to browse through the application even in a “No Network” area. This improves the user engagement and retention rate.
Don’t you agree? It has been found that users spend 70 seconds on a regular responsive website. Whereas, they spend about 3.5 minutes on a Progressive web application. This implies 3 times more engagement.
- Better Integration of Device Features
Another advantage of turning website to a progressive web app is a better implementation of device native features. When compared to the website, a PWA has a better approach to access the device features, including push notifications.
In the case of a PWA, you can control the way push notifications work. The web app developers and businessmen can look into how and when to allow the push notifications to act. This has served as a new channel for sales for the marketers.
Don’t you agree? Trivago observed 97% in click out to the hotel when they moved to Progressive web application. Likewise, Treebo hotels experienced 4x conversion by switching to PWA
- Higher Discovery
Though a responsive website will also be available on all the browsers, the Progressive web apps will bring better outcomes. The PWAs land on the user device screen, keeping them reminding about your brand. They, with their app-like approach, keep the user hooked to your brand more often. And the best part is that is possible while saving time and efforts of both developers and end users.
Don’t you agree? Facebook has also joined the bandwagon of the companies who realized the process and invested their efforts in how to convert website to pwa for enjoying better outcomes.
Steps to Turn Website to Progressive Web App
Before we begin, make sure that you have the following four requisite elements:
- Chrome 52 or above,
- An attached Android device for running Chrome 52 or above,
- Sample code and a text editor, and
- Knowledge of git, and Chrome DevTools
Once you have all these with you, start with the first step, shown below.
Step 1: Clone GitHub repository from command line:
$ git clone https://github.com/googlecodelabs/migrate-to-progressive-web-apps
This step will help you to create a migrate to PWA directory with all the codes for all the steps. For this particular codelab, upload the ‘work file’ and make the edits there. Once done, use the ‘Simple HTTP Server Application’ for serving work file on the port 8887. This will enable you to load the URL.
Step 2: Plug your Android device with your desktop and type this URL: chrome://inspect/. This will enable you to set a port forward using the port you wrote before to the same port on the device. Please Enter for saving the changes. Once done, you will be able to access the basic version of your website at http://localhost:8887/ on the connected Android device.
Step 3: Make your website mobile friendly (if not) and add Web App Manifest. This manifest will narrate the meta information of the site such that it appears on the users’ home screen.
In case the templating system is missing, add these lines:
<head>
<meta name= “viewport” content= “width=device-width, user-scalable=no”/>
<link rel= “manifest” href= “manifest.json” />
</head>
Now, open a text editor and write JSON. In the short_name section, mention what will be shown on the home screen. Try to keep it within 15 characters.
Next, save your file as the manifest.json and reload the page on your connected Android device. Go to the top right menu and choose for ‘Add to Home Screen’. When done, you will be able to see your app icon on the home screen.
Step 4: The next step is to create a service worker. For those not familiar, the Service Worker is a background script that adds offline support and push notifications feature to PWA (which is one of the main reasons to turn website into Progressive Web App).
To create a Service worker, copy the following code in a new file and save it as sw.js.
/** An empty service worker! */
self.addEventListener (‘fetch’, function(event)
{
/** An empty fetch handler! */
} );
Now, add this code into your website’s code. Open up your site.js file and add this code:
navigator.serviceWorker && navigator.serviceWorker.register (‘./sw.js’).then(function(registration)
{
Console.log (‘Excellent, registered with scope: ‘, registration.scope);
});
This code will work on every single page load. If not, check by reloading your page and looking into:-
chrome://serviceworker-internals/
With this step to turn website into Progressive web app, your site will be able to support offline access and push notifications. But before that, follow step 5.
Step 5: Open sw.js script and look for cache objects. Update the code and app the entire website to cache. Uninstall the entire application and load it on Chrome. Refresh the page and pick ‘Add to Home Screen’ option in the right corner menu.
Reload the page and reinstall it by adding a component which has the ‘version’ of the service worker. When the changes get executed, cache the resources changed in this process of migrating a website to a progressive web application
With this, the steps to turn the website into Progressive web app ends. If you find it too technical or need any further assistance, leave a comment below.