What is a PWA in Simple Terms

What is a PWA? A PWA, progressive web application, is an web app that runs like a native app on mobile devices.

Share This Post

You have many options when creating a website. No matter which way you go, the website must work on any type of device. In fact, users have smartphones, tablets, desktops, TVs and more. PWAs are a great technology that meets this requirement. But, what is a PWA? In this article, we explain Progressive Web Applications in simple terms.

What is a PWA?

What is a PWA? A progressive web application is a web application (website) that caches many of its function to feel like a native app.
The PWA logo.

PWA stands for Progressive Web Application. In simple terms, it is a hybrid between a website and a mobile application. It is not just a responsive website. This means that making a website that looks good on any type of device does not mean making a PWA. Making a PWA is much more. To understand what is this “more” in a PWA, we need to understand how a website works first.

PWA vs Website

A website, in the end, is a collection of files you download from a remote server. It has the page you are viewing, as well as many additional files that make the page works. These are mainly scripts, style, and images. Every time you browse to a new page, you have to get the new page and some of these files. In other words, you download every time the data you need and some additional code that your browser needs to display the content correctly. Imagine you are looking at the weather forecast: all you need to know is the temperature, which is a number. Instead, you always download much more than a number: pictures, information about style and so on.

All the extra information is required for the website to work and be pleasant. However, if you think about it, it is not real-time. You don’t need to download it every time, because it will not be different every time. So, you could download it once and use always the same. This is caching, and it is at the foundation of PWAs.

What is a PWA?

So, a PWA is a website where all the style and logical functions can be cached. Then, the application asks every time only for the data it needs to update. On top of that, it is also important that the application feels good even with no Internet connection. This means showing the user some loading messages while contacting the server. Google, that first introduced the concept of PWA, has a nice page to give developers guidelines to create a PWA.

PWA looks like native apps. In fact, Android and iOS let you add them to the home screen just like normal apps. However, to make this possible, you need to define a Web App Manifest. This is a file with information about your web app that the operating system will use to create the home screen link. If you want to start developing your PWA now, ensure to respect this checklist.

In the end, you can create your PWA you only need Javascript (even vanilla JS), some HTML and CSS, and any backend language you like.

Summary

A PWA is a website designed to cache as much as possible and only interact with the server for the data. While doing so, it must provide the user some feedback so that the user experience is fluid and seamless, like a native app. PWA allows you to use one single code base to reach users on desktop and mobile, on the platform they prefer. This is a good advantage, and PWAs are the best way to go to create simple apps, or when starting out and deploying concepts. Only more advanced apps or games may be better off with a native application.

Picture of Alessandro Maggio

Alessandro Maggio

Project manager, critical-thinker, passionate about networking & coding. I believe that time is the most precious resource we have, and that technology can help us not to waste it. I founded ICTShore.com with the same principle: I share what I learn so that you get value from it faster than I did.
Picture of Alessandro Maggio

Alessandro Maggio

Project manager, critical-thinker, passionate about networking & coding. I believe that time is the most precious resource we have, and that technology can help us not to waste it. I founded ICTShore.com with the same principle: I share what I learn so that you get value from it faster than I did.

Alessandro Maggio

2019-08-29T16:30:47+00:00

Unspecified

Dev

Unspecified