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

Progressive Web Apps on Rails

Progressive Web Apps on Rails

Talking about "Why Progressive Web Apps?" and how you can start building them on Rails


Ross Kaffenberger

September 22, 2016


  1. Progressive Web Apps on Rails Ross Kaffenberger @rossta

  2. Native > Web Reliable Independent of connectivity Works offline Sync-able

    Installable Re-engageable
  3. Web > Native Responsive Write once, Run everywhere* Fresh Linkable

    Discoverable Fast first-visit
  4. Best of both worlds (on the web) Progressive Web Apps

  5. None
  6. None
  7. Service Worker •Event driven •Worker context •No DOM access

  8. Service Worker •Intercept requests •Access to cache, IndexedDB, etc. •Send

    push notifications •Sync with server in background
  9. Service Worker

  10. Service Worker

  11. Service Worker •HTTPS only •Scoped by URL, e.g. /serviceworker.js /admin/serviceworker.js

  12. Service Worker on Rails Problem: Making Service Worker scripts work

    with the asset pipeline GET /serviceworker.js
  13. Service Worker on Rails gem “serviceworker-rails” •Serves pipeline assets from

    canonical urls •Customizes response headers
  14. Service Worker on Rails

  15. Service Worker on Rails Sandbox

  16. github.com/hemanth/ awesome-pwa github.com/TalAter/ awesome-service-workers

  17. github.com/rossta/ serviceworker-rails

  18. @rossta rossta.net Ross Kaffenberger