Progressive Web Apps

The web…but better

A Progressive Web App (PWA) is a web app that uses modern web capabilities to deliver an app-like experience to users. These apps meet certain requirements (see below), are deployed to servers, accessible through URLs, and indexed by search engines.

This can work in conjunction with Cordova to provide a multiple deploy targets for all your users. You can deploy your app as a PWA as well as Native app and take advantage of both channels.

Ionic allows you to ship your app to not only the app store, but also deploy to the mobile web as a PWA.

What is required

To be considered a Progressive Web App, your app must be:

Addy Osmani: Progressive web apps

There is a lot here, but it boils down to a few points for Ionic apps.

Offline Support

Apps should be able to work offline. Whether that be displaying a proper “offline” message or caching app data for display purpose.

Web App Manifest

An app manifest file should describe the resources your app will need. This includes your app’s displayed name, icons, as well as splash screen. If you link to the manifest file in your index.html, browsers will detect that and load the resources for you.

Service Worker

Service worker could be mentioned in Offline Support, but it really deserves its own section. Service worker provides a programmatic way to cache app resources. Be it JavaScript files or JSON data from a HTTP request. The programmatic API allows developers to decide how to handle caching and provides a much more flexible experience than other options.

API

Native

General