Progressive Web Apps

A new path for web development.

PWA defined

What exactly is a “Progressive” Web app? The idea was introduced at Google I/O. It lets developers build a mobile application that can act like a native app. This type of site can load on number browsers and devices. It’s also dynamic. It can update new content on it’s own while being offline. The frame can stay static, however, the content is dynamic. The great benefit about PWA is that it can look and behave just like a native app, but developers don’t have to wait for their app to be published in the app store. Users don’t have to go into the app store and install the application on their device anymore. With PWA, they can save the mobile web app on their home screen. PWA takes up less space and it simplifies the process of installing an app. Additionally, for developers, the greatest benefit is saying hasta la vista to the app store, playing to waiting game for their app to finally get published, and deploying new releases and bug fixes.

How does this exactly work?

There are two main ingredients that make PWA what it really is.

Spice 1: Service Workers

So, what is this? It essentially lets PWA run offline. They power offline functionality, push notifications, and background content caching. It basically is a worker script. It’s independent of your app, and runs in responses to network request, push notifications, and connectivity changes. Service workers are a javascript file running in the background that can be triggered by events. We have to write code to handle caching and content fetching. Service workers are a new API that lets developers make sites offline.

Spice 2: Application Shell Architecture

App Shell Architecture is a design where the initial load of mobile web app provides a basic shell of an app UI. Afterwards, the content is loaded. This isn’t an API or framework. It’s a design approach enhanced by service workers’ caching powers. The app UI and content is separate. We cache them separately. Application Shell Architecture is best used for sites that have a lot dynamic content and needs to be changed frequently and quickly.

Why should we use it?

“It’s interesting what you can envision, where companies will have their website, iOS app, and android app. But, with this progressive web app, you could just have their website which you can install on your app and android…. Easier to maintain for companies and cheaper to develop.” – Alex Davis, Lampros Labs Front-End Developer.
To reiterate this whole new paradigm, progressive web app brings all the features from native apps to the mobile browser experience and runs in a secure container accessible to anyone to the web. It’ll let developers build mobile website that can perform faster and behave just like an app. It’s core benefits being dynamic, faster, and cheaper.


Leave a Reply