Learn how different components can be used to render web content inside Android apps. | Continue reading
This post covers the loading attribute and how it can be used to control the loading of iframes. | Continue reading
There is a long tale of human interface devices (HID) that are too new, too old, or too uncommon to be accessible by systems' device drivers. The WebHID API solves this by providing a way to implement device-specific logic in JavaScript. | Continue reading
Learn how to implement CSS custom properties with semantic typing, a fallback value, and more, directly in your CSS file. | Continue reading
The pros and cons of using consistent or different expiry logic across the service worker cache and HTTP cache layers. | Continue reading
This post highlights a few powerful lines of CSS that do some serious heavy lifting and help you build robust modern layouts. | Continue reading
A summary of the major news and updates that were announced during our 3-day online community event, and a reminder about upcoming regional events. | Continue reading
Bringing web developers together, from home | Continue reading
Learn how to progressively enhance your Progressive Web App so that it remains useful on all modern browsers, but delivers an advanced experience on browsers that support new web capabilities like native file system access, system clipboard access, contacts retrieval, periodic ba … | Continue reading
Use cross-platform browser features to build sign-in forms that are secure, accessible and easy to use. | Continue reading
Learn how to safely link to resources on another host. | Continue reading
A 0.1 second improvement in 4 speed metrics can improve progression rates across the full purchase funnel. | Continue reading
Data Studio is a powerful data visualization tool that enables you to build dashboards on top of big data sources, like the Chrome UX Report. In this guide, learn how to create your own custom CrUX Dashboard to track an origin's user experience. | Continue reading
Our latest news, updates, and stories for developers | Continue reading
QuicTransport is a new API offering low-latency, bidirectional, client-server messaging. Learn more about its use cases, and how to give feedback about the future of the implementation. | Continue reading
Wrangling your web animations is about to get much easier. | Continue reading
Chromium 80 had a system-ui font weight regression on macOS. The reason it broke, and the new super powers post-resolution, are worth the wait in Chromium 83. | Continue reading
Persistent storage can help protect critical data from eviction, and reduce the chance of data loss. | Continue reading
CommonJS modules are very dynamic, which prevents JavaScript optimizers and bundles perform advanced optimizations over them. | Continue reading
Chromium's CSS Flexbox and Multi-Column layout engines now support gap. grid-gap is old news. | Continue reading
First Input Delay (FID) measures the time from when a user first interacts with your site to the time when the browser is actually able to respond to that interaction. Learn how to optimize FID by minimizing unused JavaScript, breaking up Long Tasks, and improving interaction rea … | Continue reading
Largest Contentful Paint (LCP) can be used to determine when the main content of the page has finished rendering on the screen. Learn how to optimize LCP by improving slow server response times, resource load times and client-side rendering. | Continue reading
Learn how both Next.js and Gatsby have improved their build output to minimize duplicate code and improve page load performance | Continue reading
There are many different options for storing data in the browser. Which one is best for your needs? | Continue reading
The Privacy Sandbox is a series of proposals to satisfy third-party use cases without third-party cookies or other tracking mechanisms. The proposals need your feedback. | Continue reading
Learn how to measure memory usage of your web page in production to detect regressions. | Continue reading
In this first post from the web.dev engineering team, learn about how we build the site—including our use of Eleventy and Web Components. | Continue reading
How to ensure that the core functionality of your website is always available, accessible, secure, usable, discoverable, and fast. | Continue reading
How to determine a server's bottleneck, quickly fix the bottleneck, improve server performance, and prevent regressions. | Continue reading
Introducing Trusted Types: a browser API to prevent DOM-based cross-site scripting in modern web applications. | Continue reading
How to generate a TLS certificate with SXG extensions, install tools for generating SXG files, and configure nginx to serve SXG files. | Continue reading
How other departments can help make your website speed optimization project a bigger success. | Continue reading
This case study explains how Google increased key ads business metrics by optimizing the performance of their third-party ads script with stale-while-revalidate. | Continue reading
Learn how to mark your cookies for first-party and third-party usage with the SameSite attribute. You can enhance your site's security by using SameSite's Lax and Strict values to improve protection against CSRF attacks. Specifying the new None attribute allows you to explicitly … | Continue reading
Reading and writing to NFC tags is now possible on Chrome for Android. | Continue reading
This case study explains how eBay increased key business metrics by optimizing the performance of their web and app experiences. | Continue reading
Learn about how Chrome is investing efforts in a number of open-source tools to advance the JavaScript ecosystem | Continue reading
How to register routes in Workbox so that your Progressive Web App shows up in system-level sharing UIs, alongside native apps. | Continue reading
Your PWA might cache articles and media files, but how will your users know that your pages work while offline? The Content Indexing API is one answer to this question currently in an origin trial. Once the index is populated with content from your PWA, as well as any other insta … | Continue reading
The new Native File System API enables developers to build powerful web apps that interact with files on the user's local device, like IDEs, photo and video editors, text editors, and more. After a user grants a web app access, this API allows web apps to read or save changes dir … | Continue reading
Get up to date on some of the exciting new CSS features that are already supported in modern browsers—or soon will be! | Continue reading
Module workers make it easy to unblock the main thread by moving expensive code to a background thread while keeping the ergonomic and performance benefits of standard JavaScript modules. | Continue reading
The browser's main thread is incredibly overworked. By using web workers to shift code off the main thread, you can significantly improve your app's reliability and user experience. | Continue reading
Learn about adaptive loading pattern, how to implement it, and how Facebook, Tinder, eBay, and other companies use adaptive loading in production. | Continue reading
Maskable icons are a new icon format that give you more control and let your Progressive Web App use adaptive icons. By supplying a maskable icon, your icon can look great on all Android devices. | Continue reading
Web Bundles enable you to share websites as a single file over Bluetooth and run them offline in your origin's context. | Continue reading
With the Web Share API, web apps are able to use the same system-provided share capabilities as native apps. The Web Share API makes it possible for web apps to share links, text, and files to other apps installed on the device in the same way as native apps. | Continue reading