PWAs

Progressive Web Apps

Web apps which behave like native applications

"Progressive" Web Apps

Offline capable

Responsive design

URL-addressable

Integrate with OS

Offline First

Local storage

IndexedDB (localForage)

Service Workers

Responsive Design

Adapt to the device

Accessibility

User experience

URL-addressable

Allow user to directly access content

Shortcuts / bookmarks / homescreen

https://my.neat.app/widgets/123/floobs

OS Integration

The "native" part

Use device hardware

Native user experience

Non-blocking behavior

The Catch

Caching is hard

Offline support is hard

Progressive apps need careful design

Google PWA Checklist

Served over HTTPS

Responsive design

All app URLs available offline

Manifest file for Add to Home screen

Fast first load on "average" device

Cross-browser support

Non-blocking page transitions

Each page has a URL

Google Exemplary PWA Checklist

Site content indexed by Google

Web ontology metadata (schema.org)

Social metadata (OpenGraph)

Canonical URL <link /> tags

Uses browser history API

No jumping content

Scroll position retained on navigation

Keyboard doesn't cover inputs

Social share buttons

Tasteful use of install banner

Cache-first networking

Offline prompt

Other Recommendations

Push notifications

Use OS' credential management

Use OS' payment API

Disclaimer

I am not an expert on PWAs

Questions?

@jimcodes