GUI Challenges

There is no one way to solve interfaces challenges. In this series, we'll be challenging ourselves and each other to find multiple ways to solve interface challenges and expand the diversity of our skills. | Continue reading


@web.dev | 3 years ago

High performance storage for your web app: the Storage Foundation API

The Storage Foundation API is a storage API that resembles a basic file system, with direct access to stored data through buffers and offsets. It gives developers flexibility by providing generic, simple, and performant primitives on which they can build higher-level components. … | Continue reading


@web.dev | 3 years ago

Building an Effective Image Component

Images are a common source of performance bottlenecks for web applications and a key focus area for optimization. This article explains how the Aurora team at Google designed a powerful image component in Next.js that is built-in with a number of optimizations via a developer-fri … | Continue reading


@web.dev | 3 years ago

Photoshop's Journey to the Web

Over the last three years, Chrome has been working to empower web applications that want to push the boundaries of what's possible in the browser. One such web application has been Photoshop. The idea of running software as complex as Photoshop directly in the browser would have … | Continue reading


@web.dev | 3 years ago

Monitor your web application with the Reporting API

Use the Reporting API to monitor security violations, deprecated API calls, and more. | Continue reading


@web.dev | 3 years ago

Building a Multi-Select Component

A foundational overview of how to build a responsive, adaptive, and accessible, multiselect component for sort and filter user experiences. | Continue reading


@web.dev | 3 years ago

Safe DOM Manipulation with the Sanitizer API

The new Sanitizer API aims to build a robust processor for arbitrary strings to be safely inserted into a page. This article introduces the API, and explains its usage. | Continue reading


@web.dev | 3 years ago

Bringing instant page-loads to the browser through speculative prerendering

This article focuses on speculative prefetching and prerendering. Learn more about how they're used, the drawbacks of the current implementations, popular external libraries that implement sophisticated speculation, and the origin trial that bring same-origin speculative prerend … | Continue reading


@web.dev | 3 years ago

Google acknowledges that Core Web Vitals is unfair to SPA

Answers to common questions about SPAs, Core Web Vitals, and Google's plan to address current measurement limitations. | Continue reading


@web.dev | 3 years ago

Swappie increased mobile revenue by 42% by focusing on Core Web Vitals

This case study explains how Swappie team increased conversions and revenue by optimizing their web app for Core Web Vitals. | Continue reading


@web.dev | 3 years ago

Full Control with the VirtualKeyboard API

The VirtualKeyboard API provides a mechanism for developers to opt-in to a special behavior when the virtual keyboard appears: a docked virtual keyboard will overlay content (as opposed to repositioning it) and JavaScript events will be dispatched to allow the author to rearrange … | Continue reading


@web.dev | 3 years ago

Bundling Non-JavaScript Resources

Learn how to import and bundle various types of assets from JavaScript in a way that works both in browsers and bundlers. | Continue reading


@web.dev | 3 years ago

Modern client-side routing: the App History API

Learn about the App History API, a new API which adds improved functionality to build single-page applications. | Continue reading


@web.dev | 3 years ago

Access modern GPU features with WebGPU

WebGPU enables high-performance 3D graphics and data-parallel computation on the web. | Continue reading


@web.dev | 3 years ago

Why lab and field data can be different (and what to do about it)

Learn why tools that monitor Core Web Vitals metrics may report different numbers, and how to interpret those differences. | Continue reading


@web.dev | 3 years ago

Using CSS Module Scripts to import stylesheets

Learn how to use CSS module scripts to import CSS stylesheets using the same syntax as JavaScript modules. | Continue reading


@web.dev | 3 years ago

2021 Scroll Survey Report

Get the 2021 Scroll Survey Report plus words from the Chrome team about how this impacts priorities and plans for Chromium and the web. | Continue reading


@web.dev | 3 years ago

Building a Color Scheme

A foundational overview of how to establish a dynamic and configurable color scheme | Continue reading


@web.dev | 3 years ago

User preference media features client hints headers

Our latest news, updates, and stories for developers | Continue reading


@web.dev | 3 years ago

URLPattern brings routing to the web platform

An approach to standardizing common pattern matching use cases. | Continue reading


@web.dev | 3 years ago

The performance effects of too much lazy-loading

Eagerly loading images within the initial viewport—while liberally lazy-loading the rest—can improve Web Vitals while loading fewer bytes. | Continue reading


@web.dev | 3 years ago

Understanding “same-site” and “same-origin”

"same-site" and "same-origin" are frequently cited but often misunderstood terms. This article helps you understand what they are and how they are different. | Continue reading


@web.dev | 3 years ago

Using WebAssembly threads from C, C++ and Rust

Learn how to bring multithreaded applications written in other languages to WebAssembly. | Continue reading


@web.dev | 3 years ago

libSquoosh

It's Squoosh, but as a Node library. | Continue reading


@web.dev | 3 years ago

CSS `size-adjust` for ` font-face`

As a web font loads, you can now adjust its scale to normalize the document font sizes and prevent layout shift when switching between fonts | Continue reading


@web.dev | 3 years ago

PWAs as URL Handlers

After registering a PWA as a URL handler, when a user clicks on a hyperlink that matches one of the registered URL patterns, the registered PWA will open. | Continue reading


@web.dev | 3 years ago

CSS for Web Vitals

This article covers CSS-related techniques for optimizing Web Vitals. | Continue reading


@web.dev | 3 years ago

Building multiple Progressive Web Apps on the same domain

Explore the recommended and not recommended ways of building multiple PWAs reusing the same domain with their pros and cons. | Continue reading


@web.dev | 3 years ago

New CSS functional psuedo class selectors `:is()` and `:where()`

These seemingly small additions to CSS selector syntax are going to have a big impact. | Continue reading


@web.dev | 3 years ago

The new responsive: Web design in a component-driven world

User-preference based media features, container queries, and media queries for new screen types, such as foldable screens, will enable us to usehr in a new era of responsive web design. | Continue reading


@web.dev | 3 years ago

Learn CSS

An evergreen CSS course and reference to level up your web styling expertise. | Continue reading


@web.dev | 3 years ago

Security Headers Quick Reference

This article lists the most important security headers you can use to protect your website. Use it to understand web-based security features, learn how to implement them on your website, and as a reference for when you need a reminder. | Continue reading


@web.dev | 3 years ago

Recognize Your Users' Handwriting

The Handwriting Recognition API allows web applications to use advanced handwriting recognition services to recognize text from handwritten input in real time. | Continue reading


@web.dev | 3 years ago

Customize media notifications and playback controls with the Media Session API

Web developers can customize media notifications and respond to media related events such as seeking or track changing with the Media Session API. | Continue reading


@web.dev | 3 years ago

Building a Media Scroller Component

A foundational overview of how to build a responsive horizontal scrollview for TVs, phones, desktops, etc. | Continue reading


@web.dev | 3 years ago

Optimizing Web Vitals Using Lighthouse

Today, we will cover new tooling features in Lighthouse, PageSpeed and DevTools to help identify how your site can improve on the Web Vitals. | Continue reading


@web.dev | 3 years ago

URL protocol handler registration for PWAs

After registering a PWA as a protocol handler, when a user clicks on a hyperlink with a specific scheme such as mailto, bitcoin, or web+music from a browser or a platform-specific app, the registered PWA will open and receive the URL. | Continue reading


@web.dev | 3 years ago

Insertable Streams for MediaStreamTrack

Insertable streams for MediaStreamTrack is about exposing the content of a MediaStreamTrack as a stream that can be manipulated or used to generate new content. | Continue reading


@web.dev | 3 years ago

See how well your website performs. Get tips to improve your user experience

See how well your website performs. Then, get tips to improve your user experience. | Continue reading


@web.dev | 3 years ago

Using asynchronous web APIs from WebAssembly

Learn how to invoke asynchronous web APIs when compiling traditionally synchronous languages to WebAssembly. | Continue reading


@web.dev | 3 years ago

Eliminating five top compatibility pain points on the web

Learn more about how Google is working with other browser vendors and industry partners to fix the top five browser compatibility pain points for web developers: CSS Flexbox, CSS Grid, position: sticky, aspect-ratio, and CSS transforms. | Continue reading


@web.dev | 3 years ago

Fill OTP forms within cross-origin iframes with WebOTP API

WebOTP API can now receive an OTP from within an iframe. | Continue reading


@web.dev | 3 years ago

Building a Settings Component

A foundational overview of how to build a responsive slide out sidenav | Continue reading


@web.dev | 3 years ago

Building a Settings Component

A foundational overview of how to build a settings component of sliders and checkboxes. | Continue reading


@web.dev | 3 years ago

Best Practices for Cookie Notices

Learn about how cookie notices affect performance, performance measurement, and UX. | Continue reading


@web.dev | 3 years ago

What Is Federated Learning of Cohorts (FLoC)?

Our latest news, updates, and stories for developers | Continue reading


@web.dev | 3 years ago

Vodafone: A 31% improvement in LCP increased sales by 8%

By running an A/B test specifically focused on optimizing Web Vitals, Vodafone found that a 31% improvement in LCP led to 8% more sales, a 15% improvement in their lead to visit rate, and a 11% improvement in their cart to visit rate. | Continue reading


@web.dev | 3 years ago

Mitigate cross-site scripting (XSS) with a strict Content Security Policy (CSP)

Learn how to deploy a CSP based on script nonces or hashes as a defense-in-depth against cross-site scripting. | Continue reading


@web.dev | 3 years ago