Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Progressive Web Apps

Progressive Web Apps

The web has one major benefit over native mobile apps, reach. It's the famous goal of Java ("Write once run everywhere"), come to fruition that works securely over various form factors.

The web has become the platform with the widest reach and the least amount of friction for users to start. Progressive Web Apps are the logical next step this ever-evolving web that allows us as developers to build apps that act/feel and compare to native apps.

This talk will focus on:

• How the web started, the history

• The state of the web today

• What PWA's are and why they are the next logical step

• Examples of well built real-world apps and stats

• The various benefits and how big companies are pushing this forward

• Simple steps to start exploring building your own

---

Talk by Roxanne Davids and Johann du Toit

Johann du Toit

October 04, 2017
Tweet

More Decks by Johann du Toit

Other Decks in Technology

Transcript

  1. This Talk 1. State of the union, history to today

    2. What is a progressive web app 3. How to create your own PWA
  2. This Talk 1. State of the union, history to today

    2. What is a progressive web app 3. How to create your own PWA
  3. Progressive Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  4. Responsive Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  5. Connectivity Independent Progressive / Responsive / Connection Independent / App

    Like / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  6. App-like Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  7. Data Fresh Progressive / Responsive / Connection Independent / App

    Like / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  8. Safe Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  9. Discoverable Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  10. Re-engageable Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  11. Installable Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  12. Linkable Progressive / Responsive / Connection Independent / App Like

    / Fresh / Safe / Discoverable / Re-engageable / Installable / Linkable
  13. This Talk 1. State of the union, history to today

    2. What is a progressive web app 3. How to create & upgrade your own PWA
  14. { "name": "Example App", "short_name": "Example", "start_url": "/", "display": "standalone",

    "background_color": "#f1f1f1", "description": "An example app", "icons": [], "related_applications": [{ "platform": "web" }, { "platform": "play|itunes", "url": "{play-store-url}" }] }
  15. { "name": "Example App", "short_name": "Example", "start_url": "/", "display": "standalone",

    "background_color": "#f1f1f1", "description": "An example app", "icons": [], "related_applications": [{ "platform": "web" }, { "platform": "play|itunes", "url": "{play-store-url}" }] }
  16. Server Worker Tasks 1. Acts as a proxy to the

    network 2. Handles background events like push notifications
  17. Server Worker Tasks 1. Acts as a proxy to the

    network 2. Handles background events like push notifications
  18. Server Worker Tasks 1. Acts as a proxy to the

    network 2. Handles background events like push notifications
  19. self.addEventListener('push', function(event) { const title = 'Push Codelab'; const options

    = { body: 'Yay it works.', icon: 'images/icon.png', badge: 'images/badge.png' }; event.waitUntil(self.registration.showNotification(title, options)); });
  20. Resources • https://developers.google.com/web/progre ssive-web-apps/ • https://www.pwastats.com/ • https://app.ft.com • https://ride.lyft.com

    • http://info.cern.ch/ • http://line-mode.cern.ch/ • https://github.com/GoogleChrome/airhorn • https://airhorner.com/