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

PWA beyond theory - How to create your progress...

PWA beyond theory - How to create your progressive web app

Presented on DevFest London 2018.

Avatar for Amanda Vilela

Amanda Vilela

December 01, 2018
Tweet

More Decks by Amanda Vilela

Other Decks in Technology

Transcript

  1. 80% of time is spent on 3 apps Source: comScore

    Mobile Metrix, U.S., Age 18+, June 2015
  2. ZERO number of apps the average user installs per month

    Source: comScore Mobile Metrix, U.S., Age 18+, June 2015
  3. New web features • Push Messages • Offline storage •

    Audio & Video Capture • Recording Media • Geolocation • Web Bluetooth API • More: https://whatwebcando.today
  4. WHAT IS A PWA? new level of caring about the

    quality of your end-to-end user experience
  5. PWA aspects • Site works cross-browser • Pages are responsive

    on tablets & mobile devices • First load fast even on 3G • All app URLs load while offline • Metadata provided for Add to Home screen • Site is served over HTTPS
  6. <link rel="manifest" href="/manifest.json"> { "name": "Currency Converter", "short_name": "CConverter", "icons":

    [{ "src": "icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
  7. manifest.json { "name": "Currency Converter", "short_name": "CConverter", "icons": [{ "src":

    "icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
  8. manifest.json { "name": "Currency Converter", "short_name": "CConverter", "icons": [{ "src":

    "icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
  9. manifest.json { "name": "The Washington Post", "short_name": "Wash Post", "icons":

    [{ "src": "icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
  10. manifest.json { "name": "Currency Converter", "short_name": "CConverter", "icons": [{ "src":

    "icon-48x48.png", "sizes": "48x48", "type": "image/png" }, {...}], "start_url": "/index.html", "display": "standalone", "orientation": "portrait", "background_color": "#06f8c5", "theme_color": "#06f8c5" }
  11. keeping users safe is hugely important • Reliability: Is this

    the site that the user expects? • Integrity: Has anyone changed this content? • Privacy: Can anyone monitor my navigation?
  12. last considerations • Storage is not required • Easy to

    share (conversion flow) • Always updated • Lower costs compared to native app development.