Progressive Web Apps

Progressive Web Apps

PWAs combine the flexibility of the web with the experience of a native mobile application, with out the considerable cost and time to develop and validate an app from the "app stores".

Progressive web applications (PWAs) are web applications that load like regular web pages or websites but that offers the user valuable functionality such as working offline, push notifications, and device hardware access traditionally available only to native mobile applications.

Creating Progressive Web Apps requires a good deal more time and technical expertize than creating a normal website. Maybe that is why this technology hasn't taken over the web...yet.

In 2015, designer Frances Berriman and Google Chrome engineer Alex Russell coined the term "progressive web apps" to describe apps taking advantage of new features supported by modern browsers, including service workers and web app manifests, that let users upgrade web apps to progressive web applications in their native operating system (OS). According to Google Developers, these characteristics are:

  • Progressive - Work for every user, regardless of browser choice because they're built with progressive enhancement as a core tenet.
  • Responsive - Fit any form factor: desktop, mobile, tablet, or forms yet to emerge.
  • Connectivity independent - Service workers allow work offline, or on low quality networks.
  • App-like - Feel like an app to the user with app-style interactions and navigation.
  • Fresh - Always up-to-date thanks to the service worker update process.
  • Safe - Served via HTTPS to prevent snooping and ensure content hasn't been tampered with.
  • Discoverable - Are identifiable as “applications” thanks to W3C manifests[6] and service worker registration scope allowing search engines to find them.
  • Re-engageable - Make re-engagement easy through features like push notifications.
  • Installable - Allow users to “keep” apps they find most useful on their home screen without the hassle of an app store.
  • Linkable - Easily shared via a URL and do not require complex installation.