My slides from my talk "Updates on Offline: “My AppCache won’t come back” and “ServiceWorker Tricks for Cache”" from Over the Air 2013 held in September in Bletchley Park. We had a good run-through of offline APIs in web, the mysteries of App Cache, and updates on the current status of ServiceWorker.
8. totemo CONFUSING desu ne?
紛らわしいからですね!
3
App Cache
BRAND NEW cache
mechanism of wonder
which will answer all your
questions of life’s worries
and fulfill your every day
with the realisation of your
dreams of riches, love,
intelligence, regular full
nights of sleep and a real
life Jurassic Park, or...
New HTML5 APIs
15. NOT.
7
App Cache is a Douchebag Gotchas
1. Files always come from the App Cache, even if
you are offline
2. The App only updates if the manifest file
changes
3. The App Cache is an additional cache, not an
alternative one
4. Never future-cache the manifest
Source: http://alistapart.com/article/application-cache-is-a-douchebag
16. NOT.
7
App Cache is a Douchebag Gotchas
1. Non cached resources will not load in a cached
page
2. No more conditional downloads, including
responsive images
3. No idea how the fallback page works
4. Redirects to other domains are treated like
failures
Source: http://alistapart.com/article/application-cache-is-a-douchebag
29. ServiceWorker: RULES
15
Source: https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md
1. Documents and Service workers are BFFs
2. ServiceWorkers should be written to avoid holding global
state
3. New tab means same ServiceWorker
4. Version your ServiceWorkers!
5. ServiceWorkers cannot be served on CDNs
6. CORS
7. importScripts() that run before oninstall finishes will go in
browser cache
8. Use Cache-Control: no-cache or Cache-Control: private
30. The bits I REALLY like...
Some cool stuff about ServiceWorkers
➔ Fallbacks for fallbacks for fallbacks
➔ It’s 100% or nothing
➔ “User chooses” or “dev chooses” both OK!
➔ Work with Quota API
➔ Works with Installed Apps
What about Network Information APIs?
16
31. What we learnt...
Did we learn anything?!
- The W3C cares about mobile!
- Offline solutions are confusing
- App Cache was not fit for purpose
- Shell and Content
- Service Worker
Offline as a side effect
Promises
Bit of rule following
multi cache, multi fallback
17
32. Thanks!
18
Especially...
Alex Russell | Google
@slighltylate
Jake Archibald | Google
@jaffathecake
Jonas Sicking | Mozilla
@SickingJ
Jeremy Chone | Britesnow
@JeremyChone