I remember a few years back one of my seniors told me that apps were the new thing and all big companies would do away with mobile websites and switch to apps. This was indeed true a few years back but i with the number of available services grew and it became too much of a hassle to maintain all apps on your phone. But mobile websites were not enough, they were missing something. This is where progressive web apps came in to steal the show.
What are Progressive Web Apps ?
Progressive web apps are basically websites, that have the ability of behaving like normal apps on your phones. They are browsable websites that can be saved on your phone and become indistinguishable from native apps. They can have cached content for offline browsing, show push notifications and work a lot faster than normal websites.
How do they work?
Progressive web apps use this amazing thing called service workers. Now service workers are basically scripts that can run in the background of your web app. So they keep caching and fetching data from the servers while you browse the app.
Criteria
Google has created some standards for what a good progressive web app is and it follows some basic things like being served over https, loads fast, the structure of the site is downloadable, the site is indexed by google and few more of these. Though it is not compulsory to follow every rule by the book. The ones that deal with the performance of the app should be strictly followed. You can read all of them on google’s checklist for pwa’s.
The tools
A PWA(progressive web app) heavily relies on JavaScript under the hood, also it is often better if the front end of the app is made separately from the back-end. For most of the part, the service worker scripts deal with most of the things that make an web app a PWA. You can read more about service workers here.
Current PWA market
It makes a lot more sense to have a single code base do everything instead of multiple codebases do the same thing. Many companies have gracefully accepted PWA’s and the best example is twitter. I have both the twitter mobile app and the PWA. And i have to say that there is almost no difference in the two.
The PWA sends me notifications, it has a similar ui which look native to me on android. And the transitions are smooth as well. So at no point does it feel like i am browsing a website.
Even when i am not connected to the internet, i am able to browse the cached content. So i feel no good reason to have and maintain an app for something a simple PWA can do.
Conclusion
PWA’s are the need for today since the number of services we use is getting beyond the count of our fingers. Having a native app to do something simple is not just a pain for the user but a pain for the developers as well. Sure, native apps are a necessity when you have to do some really resource intensive task but for simple websites they are just an overkill.