Progressive Web Apps

The web…but better

Progressive Web Apps are web apps that use modern web capabilities to deliver an app-like user 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’s required

To be considered a progressive web app, you app must be:

Addy Osmani: Progressive web apps

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

Offline Support

Apps should be able to work offline. Weather 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 devs to decide how to handle caching and provides a much more flexible experience than other options.

API

Native

General