Web DevRel @ Google
Fresher service workers, by default
HTTP requests that check for updates to the service worker script will no longer be fulfilled by the HTTP cache by default. This works around a common developer pain point, in which setting an inadvertent Cache-Control
header on your service worker script could lead to delayed updates. Also, updates to imported scripts can trigger the service worker update flow.
Tweaks to cache.addAll() and importScripts() coming in Chrome 71
Some small changes are coming to cache.addAll()
and importScripts()
, starting in Chrome 71.
Beyond SPAs: alternative architectures for your PWA
Building a Progressive Web App doesn't mean building a single page app! Read about alternative architectures for content-focused PWAs, and help you make the right decision for your specific use case.
High-performance service worker loading
Ensure you're getting the best performance out of your service worker implementation.
Estimating Available Storage Space
navigator.storage.estimate() gives you insight into your web app's storage constraints.
Service Worker Registration
Best practices for timing your service worker registration.
Once Upon an Event Listener
Using {once: true}
, available in Chrome 55, gives you an easy way to define "one and done" event listeners.
auxclick is Coming to Chrome 55
auxclick
takes the place of the click
event for non-primary mouse buttons, starting in Chrome 55.
Cross-origin Service Workers: Experimenting with Foreign Fetch
Third-party services can start deploying their own network request handlers.
CacheQueryOptions Arrive in Chrome 54
The full set of CacheQueryOptions
are supported, making it easier to find the cached responses you're looking for.
Offline Google Analytics Made Easy
The sw-offline-google-analytics library gives you everything you need.
Stream Your Way to Immediate Responses
Start processing your service worker responses ASAP, thanks to ReadableStreams.
What’s New with KeyboardEvents? Keys and Codes!
Two new attributes bring consistent keyboard event handling to the web.
Device Orientation Changes Are Coming to Chrome 50
DeviceOrientationEvent uses relative degrees, and there's a new DeviceOrientationAbsoluteEvent.
Prioritizing Your Resources with link rel='preload'
Chrome 50 adds support for rel='preload'
, and deprecates rel='subresource'
HTMLMediaElement.play() Returns a Promise
Say goodbye to automatic playback uncertainty! play()
now returns a Promise.
High Resolution Timestamps for Events
Find out when events occur with microsecond precision, thanks to DOMHighResTimeStamp.
Offline-first, fast, with the sw-precache module
Add service worker-powered offline capabilities to your site with the sw-precache module.
Generators: the Gnarly Bits
An exploration of ES6 Generators.
Collecting and Iterating, the ES6 Way
Maps, Sets, and for...of iteration are ES6 features that can change the way you work with collections of data.
Easier ArrayBuffer to String conversion with the Encoding API
The native Encoding API offers a straightforward way to convert between raw binary data and JavaScript strings.