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

Taking your Angular app to the next level with Progressive Web Apps

Taking your Angular app to the next level with Progressive Web Apps

Fabian Gosebrink

February 04, 2020
Tweet

More Decks by Fabian Gosebrink

Other Decks in Technology

Transcript

  1. PWA

    View Slide

  2. View Slide

  3. “The full Safari engine is
    inside of iPhone. And so,
    you can write amazing Web
    2.0 and Ajax apps that look
    exactly and behave exactly
    like apps on the iPhone.”

    View Slide

  4. “And guess what? There’s no
    SDK that you need! You’ve got
    everything you need if you
    know how to write apps using
    the most modern web
    standards to write amazing
    apps for the iPhone today. So
    developers, we think we’ve got
    a very sweet story for you. You
    can begin building your
    iPhone apps today.”

    View Slide

  5. Web App

    View Slide

  6. App Like

    View Slide

  7. Reliable

    View Slide

  8. View Slide

  9. Downasour

    View Slide

  10. Fast

    View Slide

  11. Engaging

    View Slide

  12. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  13. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  14. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  15. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  16. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  17. View Slide

  18. https://www.bloomberg.com/news/articles/2019-11-30/online-sales-break-black-friday-record-as-clicks-beat-queues

    View Slide

  19. View Slide

  20. “Mobile remains the preferred shopping channel this year for
    online commerce, with 69% of sales made on phones or
    tablets, while just 31% occurred on desktop.”
    https://news.shopify.com/shopify-merchants-break-records-with-29-billion-in-worldwide-sales-over-black-
    fridaycyber-monday-weekend

    View Slide

  21. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  22. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  23. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  24. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  25. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  26. ProgressiveResponsiveCon
    nectivityIndependentAppF
    reshSafeDiscoverableRee
    ngageableinstallablelink
    able

    View Slide

  27. Offline First

    View Slide

  28. Challenge

    View Slide

  29. Challenge
    Lie-Fi

    View Slide

  30. Challenge
    Lie-Fi
    App works
    offline

    View Slide

  31. View Slide

  32. View Slide

  33. View Slide

  34. Service Worker

    View Slide

  35. View Slide

  36. View Slide

  37. “[…] a service worker is a script
    that runs in the web browser and
    manages caching for an
    application.”

    View Slide

  38. HTTPS

    View Slide

  39. HTTPS !!!

    View Slide

  40. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    HTTPS

    View Slide

  41. View Slide

  42. View Slide

  43. View Slide

  44. View Slide

  45. Cache API

    View Slide

  46. caches.

    View Slide

  47. caches.open(‘name’)

    View Slide

  48. caches.put(...)

    View Slide

  49. caches.match(...)

    View Slide

  50. caches.delete(...)

    View Slide

  51. View Slide

  52. View Slide

  53. View Slide

  54. View Slide

  55. View Slide

  56. Sync API

    View Slide

  57. View Slide

  58. View Slide

  59. Indexed DB

    View Slide

  60. View Slide

  61. View Slide

  62. View Slide

  63. View Slide

  64. View Slide

  65. Freshness
    performance

    View Slide

  66. ng new pwaDemo

    View Slide

  67. cd pwaDemo

    View Slide

  68. ng add @angular/pwa

    View Slide

  69. ng build --prod

    View Slide

  70. DEmo

    View Slide

  71. Workbox

    View Slide

  72. View Slide

  73. Alternative

    View Slide

  74. Fabian Gosebrink
    http://offering.solutions
    http://github.com/FabianGosebrink
    http://fabian-gosebrink.com
    @FabianGosebrink

    View Slide

  75. Thank you!

    View Slide

  76. View Slide