What is a PWA and why you should know about it
Tags: webdev, pwa, android, ios
Published: 2020-08-18 10:33:27

Have you ever wondered how you can convert your webpage to an app that can run on a mobile phone no matter its Android or iOS?
  
Or have you seen that little + (plus) icon at the top of a website, and it makes you wonder how this website is installable? Well, PWA is the answer to your questions.

## What is PWA?
PWA's or Progressive Web Apps are a hybrid or say a mix of your regular websites or web pages and a mobile application; they provide you the power of both worlds. And PWA's are getting quite popular these days a significant reason being you don't need to learn another language like Kotlin or flutter to build a mobile app for your product, you can convert your existing website into a mobile application. You can even submit to Google Play and App store. 
Of course, you can't compete with a language specifically designed for mobile apps, but still, PWA's come in handy a lot of time, you don't have to code separately for android, ios and browsers. 
PWA's have access to all native app features like local storage, cache, push notifications, offline access, and a lot of cool features, so if all this gets you excited, let's dive deeper into it.

## Benefits of PWA 

#### Cross Platform Support 
PWA is browser build and not os build so it can run on any machine, whether it is Android, ios, or your laptop.

#### Speed
PWA is quite faster compared to your standard websites because of the use of service workers, which helps to store the contents of the website in the form of cache on the first time load, making all your further loads significantly faster.

#### Offline Mode 
That's the biggest feature standard websites lack, but through the use of service workers, you can load an offline version of your app, or you can cache the data for the first time and provide it for the later loads giving a better user experience.

#### SEO Friendly 
In simple words, SEO is a way to make your websites get ranked higher in the search page results, e.g., Google. So, because PWA is technically a website, its content can get indexed and are discoverable on search engines, and because of this, your app can reach a broader audience.

#### Low cost of development 
You don't need to hire a web developer and an app developer separately for your project, and you can convert your existing website to a PWA in no time. 

And a lot of others.

Yes, there are quite a few disadvantages of using a PWA like the browser compatibility issues and the inability to control all features of mobile phones fully, but still, its plus points kind of pay off for all its costs. 

Okay, So enough talk now, let's see what the things that make up a PWA are.  

* A manifest.json file: This is a JSON file which contains all the information about how your app will look, which initial page to load when your app starts, all the icons which the app should use and it also tells the browser that it's a PWA and how it should behave after being installed.

* A service worker: A service worker is just a javascript file that runs as soon as your app loads and keeps running in the background. It helps you to control all the network requests, push notifications, cache items, etc.. In short, this script takes care of all the functionality part of your app and thus is the core of any PWA.

* A secure HTTPS connection: As, by now, you must have realized PWA's are highly robust, so they only work on trusted connections, to make sure there is no harm to user's data and overall security, and in general to user experience.

That's it, add these three features to your code, make sure to connect the manifest and service worker file to your HTML. You are good to go. Most browsers detect that your app is a PWA and they give an option of installing it to the home screen when a user visits your site, else you can generate a .apk file for it and publish it to the well known PWA Store or the App Store.

PWA is a vast topic in itself. There's a lot more to it, but for getting started, these three things are essential, and rest your curiosity will figure it out by itself.

<hr/>
_[daily.dev](https://r.daily.dev/get?r=devto) delivers the best programming news every new tab. We will rank hundreds of qualified sources for you so that you can hack the future._
[![Daily Poster](https://dev-to-uploads.s3.amazonaws.com/i/b996k4sm4efhietrzups.png)](https://r.daily.dev/get?r=devto)