What is Progressive Web Application and Why do we need it?

Also known as PWA, It's definition is within its name, Progressive web applications are applications that are progressive.

Well that was simple, But why PWAs? What does it do? And what the hell does progressive mean in relation with web apps?

The thing is Humanity is going mobile, Not leaving the Earth but using mobile devices for everything from communications to entertainment to gaming to productivity, We are using our mobile devices for everything.

That's not really a bad thing., We're connected all the time and information is just a tap away., We're using our mobile more often and we're sharing like it's breathing.

You might ask couldn't we just build a native app for mobile devices and web app for the web?

This will make the user experience wonderful across all platforms, And now it's even easier to build mobile apps using React Native. YAY.

Nope.

How many apps have you installed in your mobile device? I assume Gmail, Facebook, Twitter, CoC and few other apps but not Hundreds or Thousands... But there are millions (Google: ~2.8, Apple: 2.2) of applications available on the app stores.

Do you really stand a chance?

What are we supposed to do then?

We could at very least optimize our app for mobile devices by Making it's UI look great, making our app load faster, Caching everything we can and maybe.. also making our app work offline when there's no internet connection.

Seems like too much work? Not really., But we must architect our app with these things in mind.

And this is what a PWA is., You can read more about it here https://developers.google.com/web/progressive-web-apps/