
How Progressive Web Apps can drive business success
Build a solid business case for your PWA. Learn when you should invest, and how you can measure its success.
904 articles from web.dev.

Build a solid business case for your PWA. Learn when you should invest, and how you can measure its success.



Learn how to improve load times and user experience by avoiding the common pitfalls of using third-party scripts.

This document discusses performance best practices that you can use when loading third-party embeds, efficient loading techniques and the Layout Shift Terminator tool that helps reduce layout shifts for popular embeds.

Emscripten’s embind


Web Payments aims to provide frictionless payment experience on the web. Learn how it works, its benefits, and get ready to integrate your payment app with Web Payments.

Learn how to embed JavaScript code in your WebAssembly library to communicate with the outside world.

How do you integrate WebAssembly into this setup? In this article we are going to work this out with C/C++ and Emscripten as an example.

Emscripting a C library to Wasm

Enabling HTTPS on your servers is critical to securing your webpages.

Service workers can use static imports of ES modules to bring in extra code, as an alternative to importScripts().




A write-up of Thomas Steiner's Google I/O 2021 talk titled Excalidraw and Fugu: Improving Core User Journeys

Learn how to improve render times with critical CSS technique and how to choose the best tool for your project.

This page brings together answers to the questions about hacking we at Google hear most often.

So long HTML5Rocks, it's been nice knowing you.

Understand the value of fast ads and how to think about ad speed.

Faster playback start means more people watching your video or listening to your audio. That's a known fact. In this article I'll explore techniques you can use to accelerate your media playback by actively preloading resources depending on your use case.

Learn how to optimize your Angular app's change detection to make it more responsive.

This post introduces the First Contentful Paint (FCP) metric and explains how to measure it

Catching errors when working with the Fetch API.

Fetch Metadata is a new web platform feature designed to allow servers to protect themselves from cross-origin attacks.

The Fetch Priority API indicates the relative priority of resources to the browser. It can enable optimal loading and improve Core Web Vitals.

This post introduces the First Input Delay (FID) metric and explains how to measure it



Before you can reproduce slow interactions in the lab to optimize your website's Interaction to Next Paint, you'll need to lean on field data to find them. Learn how to do just that in this guide.

Learn how to set first-party cookies to ensure security, cross-browser compatibility, and minimize chances of breakage once third-party cookies are phased out.

This guide is created specifically for a type of hack that adds keyword-heavy gibberish pages to your site.

This guide is created specifically for a type of hack that adds keyword-heavy gibberish pages to your site.

This guide is for a type of hack that creates autogenerated Japanese text on your site.

A walkthrough of using WebPageTest to identify and fix layout instability issues.

Find out how to fix mixed content errors on your website, in order to protect users and ensure that all of your content loads.

How other departments can help make your website speed optimization project a bigger success.

Learn about how to optimize web fonts for Core Web Vitals.

Going fullscreen.

Learn to control web games with the Gamepad API.

Web Google Developers Experts on how mentoring programs empowered them to become leaders.

Learn how to make your Angular application faster, more reliable, discoverable, installable, and accessible!

React is an open-source library that makes building UIs easier. This learning path will cover different APIs and tools within the ecosystem that you should consider using to improve the performance and usability of your application.


Learn about scope and how it works in JavaScript.

The glossary covers a collection of technical terms that are referenced throughout our security documentation.


How to debug SEO issues on individual pages or across an entire site.

GOV.UK dropped their jQuery dependency from their front end. You'll never guess what happened. (Yes, you will.)

Learn how both Next.js and Gatsby have improved their build output to minimize duplicate code and improve page load performance

Learn how and why websites are hacked.

This guide explains how to deal with a site that has been hacked with malware.

Navigation requests are requests for HTML made whenever you enter a new URL in the navigation bar, or follow a link on a page. This is where service workers make their biggest impact on performance: by using a service worker to respond without waiting for the network, you can ensure that navigations are reliably fast and resilient.

Once a web-based payment app is registered, it's ready to accept payment requests from merchants. This article teaches you how to orchestrate a payment transaction from a service worker during runtime.

The newly proposed Portals API helps keep your front-end simple while allowing seamless navigations with custom transitions. In this article, get hands-on experience using Portals to improve user experience across your site.

By using the correct elements for headings and landmarks, you can dramatically improve the navigation experience for users of assistive technology.

Hiding content from assistive technology

Understand how to serve the best quality images as efficiently as possible.

Learn how to implement cross-browser Houdini Paint API's and explore a world of Houdini worklets with Houdini.how.