TRANSCRIÇÃO · CC BY 3.0

Novidades para a plataforma web | Keynote

Tradução automática para o português do Brasil. Gerada e salva em 2026-10-23. Pode conter erros; confira os termos e as citações na versão em inglês e no vídeo original. Os horários são os mesmos da fonte. A transcrição original em inglês está disponível abaixo.

O keynote da plataforma web do Google 2021 aborda privacidade, integração de aplicativos, WebAssembly, gráficos e ferramentas para criar experiências web mais rápidas.

Chrome for Developers · Publicado em · 30 min · Inglês · Licença: CC BY 3.0 · Fonte: assistir no YouTube

Fonte da transcrição: legendas enviadas pelo criador no YouTube. Pontuação por IA adicionada pelo Vidleaf; redação original e âncoras de carimbo de tempo preservadas. A transcrição original está disponível abaixo.

Resumo gerado por IA

Este 2021 discurso principal do Chrome apresenta a plataforma web através de três temas: privacidade, aplicações mais capazes e produtividade do desenvolvedor. Os palestrantes discutem as propostas do Privacy Sandbox, a integração do navegador com arquivos e dispositivos, gráficos, WebAssembly e melhorias de desempenho. Eles também conectam as ferramentas de desenvolvedor e as Core Web Vitals com o trabalho de tornar as aplicações mais rápidas e consistentes entre navegadores. A palestra é um registro de recursos, experimentos e planos anunciados naquele evento. Seus exemplos ajudam a explicar a direção da plataforma na época; referências a lançamentos futuros e testes pertencem a esse contexto histórico.

Pontos-chave

  • [2:32] O discurso principal enquadra o trabalho de privacidade do navegador em torno de isolamento e alternativas criadas especificamente para rastreamento amplo.
  • [18:26] O WebAssembly traz código existente que não é JavaScript para aplicações de navegador.
  • [26:38] A compatibilidade entre navegadores é apresentada como uma prioridade contínua para desenvolvedores web.

Gerado a partir da transcrição. Verifique as passagens vinculadas em relação ao vídeo original. Resumo e pontos-chave revisados pelo Vidleaf em 2026-10-21.

Visão geral completa

Os líderes do Chrome, Ben e Dion, descrevem como a web evoluiu de simples documentos conectados para uma plataforma de computação de alto desempenho e uso geral usada por bilhões, com a pandemia acelerando a interação online e o ritmo das mudanças. A sessão organiza os desenvolvimentos do ano em torno de três temas: privacidade por padrão, aplicativos web poderosos e integrados, e produtividade do desenvolvedor. Sobre privacidade, explica o modelo do Privacy Sandbox, a mudança que torna os cookies visíveis apenas para o site que os definiu (agora aplicada no Chrome, Edge e muito em breve no Firefox), e alternativas de API que preservam a privacidade, como o Attribution Reporting, que não compartilha dados de identificação do usuário e usa privacidade diferencial, enquanto o Google se prepara para eliminar os cookies de terceiros e lidar com outros rastreamentos ocultos. Para aplicativos web, aborda recursos de reengajamento como atalhos de aplicativos, a Badging API e um futuro teste de origem do Declarative Link Capturing, interface de instalação aprimorada, a Multi-Screen Window Placement API, a File System Access API e uma esperada File Handling API experimental, além de APIs de dispositivos incluindo Web HID (com o Joy-Con como exemplo), a Gamepad API e Web Serial, que o Piper Make usa para programar um Raspberry Pi Pico sem instalar software ou drivers. A cobertura de gráficos e desempenho inclui o beta do Maps com inclinação e rotação e o WebGLOverlayView (demonstrado com three.js sobre a Península de Yucatán), o WebGPU experimental e um teste de origem de SIMD do V8 que deu ao Google Meet um ganho de 200% em seu pipeline de processamento de mídia no navegador. Uma segunda parte examina mais ganhos: um recurso de desfoque de fundo alimentado pelo TensorFlow no navegador, SIMD planejado para todos os usuários do Chrome, trabalho de portabilidade do WebAssembly como o Replicache compilando Rust para WebAssembly, threads do WebAssembly chegando ao Chrome para Android no Chrome 88, depuração aprimorada do WebAssembly no Chrome DevTools, o compilador Sparkplug do V8, limitação intensiva de temporizadores implementada para alguns usuários, suporte a content-visibility, BFCache no Android no Chrome 87 com planos de expansão para desktop, uma API de pré-renderização para pré-carregamento no mesmo site ainda este ano, extensões de rolagem para texto, futuras APIs de transição de documentos, senhas de uso único entre dispositivos, Core Web Vitals e ferramentas Lighthouse, o esforço entre navegadores Compat2021 focado em pontos problemáticos de CSS, e atualizações e extensões do DevTools.

Resumos de capítulos com carimbos de tempo

Líderes do Chrome sobre a evolução da web e os temas do I/O

  • [0:05] Ben e Dion são líderes da equipe do Chrome que trabalham juntos na plataforma web há muitos anos.
  • [0:13] Os sites evoluíram de simples documentos conectados para aplicativos web interativos ricos, e a web agora é uma plataforma de computação de alto desempenho e uso geral usada por bilhões globalmente.
  • [0:29] A pandemia levou mais interações diárias para o ambiente online, acelerando o crescimento da web e desencadeando uma corrida para melhorar as experiências web à medida que o uso dispara.
  • [0:47] Muitas plataformas de computação surgiram e caíram, e o velho ditado 'evolua ou morra' desempenha um papel importante na relevância contínua de qualquer plataforma.
  • [1:02] O ritmo da evolução da web está acelerando porque precisa acompanhar a tecnologia e a sociedade em geral.
  • [1:11] No Google I/O deste ano, as sessões cobrirão os últimos desenvolvimentos web, e esta sessão resume os principais temas a ter em mente este ano.
  • [1:29] A sessão cobre três temas: privacidade por padrão para todos os usuários, aplicativos web poderosos, rápidos e integrados, e ajudar os desenvolvedores a serem produtivos e bem-sucedidos.

Privacy Sandbox e mudanças nos cookies

  • [1:57] Os navegadores modernos isolam cada site por padrão usando um modelo de sandbox.
  • [2:15] O Chrome primeiro isolou cada site em seu próprio processo e, mais recentemente, isola cada iframe entre sites em seu próprio processo.
  • [2:32] O Google está aplicando a abordagem de sandbox aos dados do usuário e ao rastreamento por meio de um sandbox de privacidade destinado a manter as informações seguras dentro do navegador.
  • [2:50] O Privacy Sandbox foi anunciado há dois anos como uma iniciativa aberta com a comunidade, com cuidado para fazer a transição do ecossistema web de forma criteriosa.
  • [3:09] O primeiro passo foi alterar os cookies no Chrome para que sejam visíveis apenas para o mesmo site que os definiu, exigindo que os desenvolvedores optem por cookies de terceiros.
  • [3:35] A ampla visibilidade padrão anterior dos cookies criou um problema de segurança ao expor os usuários a ataques de falsificação de solicitação entre sites.
  • [4:01] Esse padrão que preserva a privacidade agora é aplicado no Chrome, Edge e muito em breve no Firefox.
  • [4:07] O Google está colaborando em uma família de APIs como alternativas que preservam a privacidade para casos de uso como login federado, anúncios personalizados e rastreamento de conversões.
  • [5:17] A Attribution Reporting API não compartilha dados de identificação do usuário entre sites; o navegador rastreia a conversão do anúncio e envia um relatório criptografado com atrasos de tempo e ruído, uma técnica conhecida como privacidade diferencial.
  • [6:06] O Attribution Reporting está disponível hoje como um experimento de teste de origem do Chrome, junto com várias outras APIs, com mais a serem lançadas durante o ano.
  • [6:21] O Google está se preparando para eliminar os cookies de terceiros e implementar proteção contra outras formas de rastreamento oculto.

Avanços na integração de aplicativos web com o sistema operacional

  • [6:57] A web se tornou uma plataforma de aplicativos poderosa com experiências rápidas e integradas em navegadores modernos.
  • [7:11] Os Chromebooks mostram que o acesso à web pode ser acessível, seguro e simples, sem necessidade de conhecimento em manutenção de sistema operacional.
  • [7:23] A missão do Google é dar à web os recursos necessários para experiências de computação de última geração.
  • [7:40] O Google trabalhou para facilitar o reengajamento contínuo dos usuários com aplicativos web.
  • [8:03] O novo recurso de atalhos de aplicativos permite que aplicativos web exponham ações rápidas no Android, Chrome OS, Windows e macOS.
  • [8:14] A Badging API permite que aplicativos web forneçam um lembrete sutil de reengajamento decorando o ícone do aplicativo.
  • [8:24] O Chrome lançará em breve um teste de origem do Declarative Link Capturing, que inicia automaticamente aplicativos web instalados em links apropriados e pode evitar múltiplas instâncias.
  • [8:45] A interface de instalação de aplicativos web do Chrome melhorou: o desktop mostra um ícone na omnibox com ajuda no produto, e o Android tem um diálogo mais rico preenchido a partir do manifesto.
  • [9:15] A Multi-Screen Window Placement API permite que aplicativos web descubram monitores conectados e controlem o posicionamento de janelas, útil para aplicativos de apresentação e videoconferência.
  • [9:36] A File System Access API permite que aplicativos web leiam e gravem no sistema de arquivos local, como usado pelo Gravit Designer e PhotoBee.
  • [9:54] Uma nova File Handling API registraria aplicativos web como manipuladores de tipos de arquivo para que os usuários possam abrir arquivos diretamente dos navegadores de arquivos do sistema operacional, com um lançamento experimental esperado para o final deste ano.

Novas APIs web para conectividade de dispositivos

  • [10:20] A web há muito tempo é capaz de se comunicar com dispositivos Bluetooth MIDI.
  • [10:25] Várias novas APIs agora suportam uma coleção mais ampla desses dispositivos.
  • [10:35] Web HID é uma nova API para dispositivos que se comunicam usando o protocolo HID.
  • [10:40] O controle Joy-Con da Nintendo é um exemplo de dispositivo que suporta o protocolo HID.
  • [10:48] A Gamepad API, padrão do setor, agora é suportada pela web, permitindo jogabilidade sem concessões com aplicativos como o Stadia no navegador.
  • [11:01] A Web Serial API adiciona suporte a porta serial à web.
  • [11:13] O Piper Make é um editor baseado em blocos para programar um Raspberry Pi Pico conectando o dispositivo e abrindo um navegador, sem necessidade de instalação de software ou configuração de driver graças ao Web Serial.
  • [11:31] Esses e outros novos recursos web permitem experiências profundamente integradas e contínuas por meio do navegador.

Recursos 3D do Maps WebGL em beta

  • [11:49] O Maps adotou o WebGL anos atrás para permitir gráficos acelerados por hardware e uma interface mais poderosa.
  • [11:58] No ano passado, a equipe do Maps disponibilizou recursos de mapa acelerados por WebGL em aplicativos web por meio da Maps JavaScript API.
  • [12:34] No discurso principal para desenvolvedores, foi anunciado o lançamento beta de dois novos recursos: inclinação e rotação, e WebGLOverlayView.
  • [12:46] Esses recursos permitem que os desenvolvedores manipulem o mapa em três dimensões pela primeira vez usando o mesmo contexto WebGL usado para renderizar o mapa base.
  • [13:06] A demonstração usa three.js para renderizar um objeto 3D em um mapa centralizado na Península de Yucatán, no México, com um ID de mapa para o mapa vetorial e estilo personalizado.
  • [13:29] O WebGLOverlayView é implementado estendendo google.maps.WebglOverlayView e expõe ganchos no ciclo de vida do contexto de renderização WebGL do mapa base.
  • [13:51] A demonstração se concentra em três ganchos: onAdd() quando a instância de sobreposição é criada, onContextRestored() quando o contexto de renderização está disponível, e onDraw() onde a renderização acontece.
  • [15:47] Um objeto transformador com a função fromLatLngAltitude cria a matriz de projeção, poupando os desenvolvedores da matemática de matrizes.
  • [16:30] Inclinação e rotação e WebGLOverlayView são a entrega mais recente do compromisso da equipe, com mais planejados.

Desempenho de gráficos web e WebAssembly

  • [16:50] O WebGL trouxe um novo nível de desempenho gráfico para a web quando se tornou disponível há vários anos.
  • [16:56] Eles estão trabalhando em estreita colaboração com as comunidades de gráficos e web no WebGPU, uma API gráfica de próxima geração projetada desde o início para desbloquear novo desempenho gráfico na web.
  • [17:10] O WebGPU se inspira em APIs de baixo nível como Vulcan, Metal e Direct 3D 12 e ainda é muito experimental, mas tem uma promessa empolgante.
  • [17:22] O Web Assembly fornece um padrão para compilar código em um formato rápido e eficiente executável no navegador por mecanismos JavaScript modernos como o V8.
  • [17:34] Recentemente, eles deram ao Web Assembly um grande impulso de desempenho implementando suporte para instruções de processador SIMD no V8, permitindo que certas classes de aplicativos sejam executadas muito mais rapidamente.
  • [17:46] O Google Meet fornece um exemplo poderoso do SIMD em ação.

SIMD impulsiona o desempenho do Google Meet

  • [17:55] Há uma tensão constante entre processar vídeo para aprimorá-lo e manter um fluxo suave e de baixa latência.
  • [18:03] Usando o teste de origem experimental de SIMD do V8, a equipe do Meet alcançou um ganho de desempenho de 200% em seu pipeline de processamento de mídia no navegador.
  • [18:13] Esse ganho lhes deu orçamento para habilitar um recurso de desfoque de fundo, alimentado pelo TensorFlow no navegador, para a maioria de seus usuários.
  • [18:22] O SIMD está planejado para ser lançado para todos os usuários do Chrome nos próximos meses.

Portabilidade do WebAssembly e atualizações do V8

  • [18:26] O WebAssembly é frequentemente usado para trazer bases de código que não são JavaScript para a web para novos casos de uso.
  • [18:34] Os desenvolvedores do Replicache compilaram seu código Rust para WebAssembly para que os desenvolvedores web pudessem incorporá-lo a aplicativos web.
  • [18:48] V8 adicionou suporte a threading no WebAssembly em 2019 para facilitar a portabilidade de código, mas isso só foi habilitado para sistemas operacionais desktop.
  • [18:57] O Chrome para Android ganhou threads WebAssembly a partir do Chrome 88 em janeiro.
  • [19:06] V8 aprimorou a depuração do WebAssembly com breakpoints e inspeção de variáveis no Chrome DevTools.
  • [19:25] A equipe do V8 também vem trabalhando para extrair mais desempenho do JavaScript em seu motor.

Compilador V8 e recursos de desempenho do Chrome

  • [19:31] V8 não apenas interpreta JavaScript, mas também compila código em tempo real para uma execução mais eficiente.
  • [19:38] A equipe implementou um novo compilador chamado Sparkplug.
  • [19:49] No início deste ano, o Chrome lançou o throttling intensivo de timers para alguns usuários.
  • [19:57] O throttling intensivo de timers detecta quando uma aba está em segundo plano por mais de cinco minutos e, desde que a aba não esteja reproduzindo áudio ou vídeo, reduz a frequência com que o JavaScript baseado em timers é executado nessa aba.
  • [20:10] O Chrome lançou suporte para uma nova propriedade CSS chamada content-visibility.
  • [20:17] Definir content-visibility como auto em um elemento permite que o navegador pule a renderização do conteúdo dessa árvore de elementos se ele não estiver visível no display do usuário no momento.
  • [20:29] Isso pode levar a um aumento dramático de velocidade para sites com muito conteúdo.

Navegação instantânea e pré-renderização no Chrome

  • [20:51] O Chrome 87, lançado em novembro do ano passado, adicionou o back/forward cache (BFCache) ao Chrome no Android.
  • [21:00] O BFCache mantém algumas páginas web carregadas na memória após a navegação para outra página, para que voltar ou avançar exiba a página instantaneamente.
  • [21:11] Uma em cada cinco navegações em dispositivos móveis avança ou retrocede no histórico.
  • [21:21] O BFCache do Chrome está atualmente disponível no Android com algumas limitações, e há planos de expandi-lo para o Chrome desktop em breve.
  • [21:38] A pré-renderização carrega os recursos de uma página web e renderiza o DOM antes de o usuário clicar em um link, mas é difícil de acertar devido a efeitos colaterais e possíveis vazamentos de informações do usuário entre sites.
  • [22:19] Uma nova API de pré-renderização permitirá que os desenvolvedores experimentem o pré-carregamento no mesmo site ainda este ano.
  • [22:36] O scroll to text, adicionado no Chrome 80 em fevereiro do ano passado, permite que os navegadores posicionem a viewport em um elemento de texto específico e o destaquem.
  • [22:53] Uma versão da API scroll-to-text que rola até imagens está chegando em breve, e outros tipos de elementos estão sendo explorados.
  • [22:59] Novas APIs de transição de documentos chegarão em breve ao Chrome como experimentos que suportam transições gráficas entre elementos.

Senhas de uso único entre dispositivos na web

  • [23:17] O Google está trabalhando para tornar a segurança mais fluida na web.
  • [23:22] Senhas de uso único entre dispositivos para a web é um recurso pelo qual o palestrante está particularmente entusiasmado.
  • [23:26] Senhas de uso único são códigos numéricos que alguns sites enviam para você fazer login.
  • [23:31] O recurso permite que você receba uma senha de uso único no seu celular Android e que ela seja transferida automaticamente para o Chrome em outro dispositivo, como um laptop.
  • [23:45] O ritmo da evolução da web está acelerando.

Core Web Vitals e ferramentas para desenvolvedores

  • [23:54] O Google está trabalhando para tornar a web mais fácil para os desenvolvedores e fazendo parcerias com o ecossistema mais amplo para resolver os principais pontos problemáticos da plataforma.
  • [24:03] O web.dev oferece tutoriais detalhados, as últimas notícias e acesso à ferramenta de auditoria de sites Lighthouse.
  • [24:18] O Lighthouse fornece um relatório abrangente sobre como melhorar um site em categorias como desempenho, acessibilidade e SEO.
  • [24:35] Três métricas de desempenho do Lighthouse, chamadas Core Web Vitals, têm impacto particularmente grande na experiência do usuário.
  • [24:44] As Core Web Vitals medem coletivamente a rapidez com que um site exibe o conteúdo principal, sua responsividade na primeira interação e quanto seu layout se desloca.
  • [25:03] A editora italiana GEDI observou uma melhoria de 8% na taxa de rejeição em páginas de artigos no celular ao usar um placeholder de marca para reservar espaço para anúncios e adiar parte do JavaScript até depois que a página estivesse visível.
  • [25:41] A Shopify e a Wix implementaram painéis de desempenho em seus consoles de administração, e a comunidade WordPress lançou o carregamento lento para imagens e iframes.
  • [25:56] O Google atualizou seu plugin Site Kit para WordPress com suporte à medição de Core Web Vitals e recomendações específicas de melhoria.
  • [26:07] O Google Search anunciou que as Core Web Vitals em breve farão parte de como as páginas são classificadas nos resultados de pesquisa.

Compatibilidade entre navegadores e o renascimento do CSS

  • [26:38] Os desenvolvedores enfatizam consistentemente a importância da compatibilidade entre navegadores.
  • [26:42] Este ano, eles anunciaram a participação em um esforço intersetorial chamado Compat2021.
  • [26:49] O Compat2021 tem como objetivo corrigir os cinco principais pontos problemáticos de compatibilidade entre navegadores, votados pelos desenvolvedores web, que, por acaso, são todos relacionados a CSS.
  • [27:00] O CSS está passando por um renascimento empolgante, com o CSS Flexbox e o Grid sendo adotados pelos desenvolvedores como grandes melhorias para layouts de página.
  • [27:13] Aprendizados de anos de frameworks CSS como o Sass, como o aninhamento, estão sendo incorporados à plataforma.
  • [27:22] As consultas de contêiner, o recurso CSS mais solicitado, permitirão folhas de estilo mais modulares e reutilizáveis ao escopo de regras naturalmente ao seu contexto local, em vez de agir globalmente.

Atualizações e extensões do Chrome DevTools

  • [27:37] As ferramentas de desenvolvedor integradas do Chrome estão entre seus recursos mais populares e servem como um poderoso copiloto de desenvolvimento web.
  • [27:48] No ano passado, o DevTools ganhou melhorias, incluindo um novo seletor de cores, avisos e linting aprimorados para PWA, uma sobreposição de Core Web Vitals, depuração dedicada de CSS Flexbox, visualização de frames descartados e suporte a CSS e JavaScript.
  • [28:09] O DevTools também é uma plataforma que suporta extensões.
  • [28:14] A extensão Angular DevTools para Chrome fornece suporte a depuração e criação de perfil de desempenho específico para aplicativos Angular.
  • [28:25] Os espectadores são direcionados à sessão do Chrome DevTools para um mergulho profundo nesses novos recursos.
  • [28:33] A web está evoluindo de maneiras fundamentais, tornando-se privada por padrão com novas APIs que protegem a privacidade do usuário.

Ganhos na plataforma web e suporte do ecossistema

  • [28:43] A plataforma continua a ganhar novos recursos poderosos que ampliam o que é possível e proporcionam melhores experiências ao usuário.
  • [28:51] A equipe está comprometida em fazer parceria com os desenvolvedores do ecossistema à medida que a web evolui, para garantir que eles tenham as ferramentas e orientações para o sucesso.
  • [29:01] Os espectadores podem se aprofundar em muitas dessas melhorias da plataforma web conferindo outras sessões do I/O deste ano.
  • [29:11] O palestrante agradece aos espectadores e espera ver o que eles construirão com os recursos evoluídos da web moderna.
  • [29:17] Os espectadores que assistirem durante a I/O Week estão convidados a encontrar a equipe no Adventure.

[0:05] -Eu sou Ben. -E eu sou Dion. Somos líderes na equipe do Chrome. [Dion] Nós dois trabalhamos juntos na plataforma web por muitos anos. Foi divertido ver os sites evoluírem de simples documentos conectados para os ricos aplicativos web interativos de hoje. A web se tornou uma plataforma de computação de alto desempenho e de uso geral, usada por bilhões de pessoas em todo o mundo. [Dion] O crescimento da web acelerou no último ano, à medida que a pandemia empurrou mais de nossas interações diárias para o ambiente online, desencadeando uma corrida para melhorar as experiências web à medida que o uso dispara.

[0:40] E para nós, isso reforça a importância da web e a necessidade de todos nós trabalharmos juntos para torná-la melhor. Agora, vimos muitas plataformas de computação surgirem e caírem nas últimas décadas. Uma coisa é realmente clara: o velho ditado evolua ou morra desempenha um papel importante na relevância contínua de qualquer plataforma. Agora, a web evoluiu muito ao longo dos anos. E olhando para frente, acho que o ritmo da evolução está acelerando, porque de certa forma precisa acompanhar a tecnologia e a sociedade em geral. Então, no Google I/O deste ano, temos várias sessões que vão atualizá-lo sobre alguns dos últimos desenvolvimentos na web.

[1:19] Nesta sessão, daremos um rápido resumo do que consideramos os principais temas que você deve ter em mente este ano. E indicaremos onde você pode aprender mais e se aprofundar. Vamos começar com privacidade, explicando como a web está evoluindo para permitir uma experiência de navegação privada para todos os usuários por padrão. Em seguida, abordaremos como a web está possibilitando uma nova geração de aplicativos web poderosos, rápidos e integrados, e uma experiência de usuário fantástica. E, finalmente, resumiremos o trabalho que estamos fazendo para ajudar os desenvolvedores a serem produtivos e bem-sucedidos com a web.

[1:52] Então, vamos começar com privacidade, e faremos isso falando sobre sandboxes. Os navegadores modernos são construídos em torno da metáfora de uma sandbox. Cada site que você visita é isolado por padrão do resto do seu sistema, incluindo de sites e outras abas abertas, como se estivéssemos cercados por paredes virtuais como as de uma sandbox em um jardim. Agora, o Chrome inovou com o modelo de sandbox do navegador desde os primeiros dias, primeiro isolando cada site em seu próprio processo.

[2:23] E mais recentemente, expandindo isso para isolar cada iframe de origem cruzada em uma página web em seu próprio processo. Estamos adotando a mesma abordagem com dados do usuário e rastreamento, construindo uma espécie de sandbox de privacidade que busca manter todas as suas informações seguras e protegidas dentro do seu navegador, resultando em uma web onde sua identidade e atividade são privadas por padrão. Anunciamos o esforço do Privacy Sandbox há dois anos, como uma iniciativa aberta, uma colaboração com a comunidade para dar vida a essa visão, ao mesmo tempo em que tomamos cuidado para ajudar a transição do ecossistema web para um novo modelo de maneira ponderada e deliberada.

[3:07] Gostaríamos de dar uma atualização sobre nosso progresso. Nosso primeiro passo, anunciado no Google I/O há dois anos, foi mudar o comportamento dos cookies no Chrome, passando de visíveis entre sites por padrão para visíveis apenas para o mesmo site que os definiu. Antes dessa mudança, não estava realmente claro se um cookie se destinava ao uso primário ou de terceiros, e os navegadores precisavam observar como os cookies eram usados na prática para inferir sua finalidade. Isso também criou um problema de segurança, porque essa ampla visibilidade padrão dos cookies expunha os usuários a ataques de falsificação de solicitação entre sites, com base em terceiros observando as informações nesses cookies.

[3:48] Agora, os desenvolvedores precisam optar por usar cookies entre sites, os chamados cookies de terceiros. E, por sua vez, os navegadores puderam então desativar esses cookies de maneira muito simples. Esse comportamento padrão de preservação da privacidade agora é aplicado no Chrome, Edge e, muito em breve, no Firefox. Em seguida, temos colaborado com o ecossistema em uma nova família de APIs que oferecem alternativas que preservam a privacidade para casos de uso que hoje dependem de cookies de terceiros, como login federado, anúncios personalizados e rastreamento de conversões.

[4:23] Para esclarecer como essas APIs estão abordando esse desafio, vamos examinar mais de perto uma delas: a API Attribution Reporting. Um aspecto fundamental de qualquer negócio na web é como você expande seu público de usuários, e isso geralmente envolve publicidade para aumentar o tráfego. Do outro lado desses dólares de publicidade, os editores de conteúdo na web frequentemente dependem da receita de anúncios para fazer seu modelo de negócios funcionar. Descobrir quantos usuários realmente clicaram no anúncio e se esses usuários subsequentemente fizeram algo como se inscrever em uma newsletter ou concluir uma compra é uma parte importante desse modelo.

[5:01] Tradicionalmente, essa medição é realizada rastreando o usuário antes e depois do clique em sites com um cookie de terceiros. Então, como podemos fazer isso de uma forma que não envolva o rastreamento desse usuário? Bem, aí entra o Attribution Reporting. Usando essa API proposta, nenhum dado de identificação do usuário é compartilhado entre os sites. Em vez disso, é o navegador que acompanha a conversão do anúncio. Depois, o navegador envia um relatório criptografado ao anunciante para cada um desses eventos de conversão.

[5:34] Mas ele adiciona atrasos de tempo e ruído a esses relatórios para conter ainda mais as tentativas de identificar usuários. Essa técnica é amplamente conhecida como privacidade diferencial. Essa abordagem permite que ambas as partes ainda possam medir a eficácia de suas campanhas de anúncios e entender qual comportamento os anúncios conseguem gerar, e fazer isso sem rastrear o usuário entre sites. Agora, o Attribution Reporting é uma de muitas novas propostas de API no projeto Privacy Sandbox.

[6:06] Ele está disponível para uso como experimento de origin trial do Chrome hoje, junto com várias outras APIs, e lançaremos mais ao longo do ano. Enquanto trabalhamos com todos vocês em todo o ecossistema para trazer essas novas APIs para a plataforma web, também estamos avançando com os preparativos para eliminar gradualmente os cookies de terceiros e implementar proteção contra outras formas de rastreamento encoberto. E temos mais detalhes sobre o que fazer com seus próprios cookies hoje nas sessões técnicas.

[6:36] Portanto, o projeto Privacy Sandbox representa uma evolução substancial da plataforma web, permitindo privacidade por padrão e também preservando casos de uso críticos da web. Uma mudança desse tamanho e tão fundamental para a web levará tempo, mas estamos comprometidos com esse trabalho e com os benefícios que ele trará aos usuários da web em todo o mundo. A web evoluiu para uma plataforma de aplicativos poderosa, permitindo que qualquer pessoa com um navegador moderno tenha acesso a experiências líderes de categoria que carregam rápido e funcionam perfeitamente.

[7:11] E dispositivos como os Chromebooks mostram como o acesso à web pode ser tornado acessível, seguro e simples, sem a necessidade de ser um especialista em manter o sistema operacional subjacente. Por anos, estivemos em uma missão para garantir que a web tenha todos os recursos necessários para trazer experiências de computação de ponta para a plataforma. E desde a última vez que falamos com vocês no I/O, a web ganhou uma significativa variedade de novos recursos. Gostaríamos de destacar alguns deles para vocês. Uma área em que temos trabalhado tem sido facilitar para os usuários o reengajamento contínuo com aplicativos web.

[7:47] Há alguns anos é possível adicionar facilmente aplicativos web como ícones aos lançadores nativos, tanto em celular quanto em desktop, e é um dos meus recursos favoritos da plataforma. Queremos falar sobre como aprofundamos essa integração entre aplicativos web e o sistema operacional subjacente. Com o novo recurso de atalhos de aplicativos, os aplicativos web podem expor ações rápidas em sistemas operacionais que oferecem suporte a esse recurso, como Android, Chrome OS, Windows e macOS. E com a Badging API, os aplicativos web podem dar ao usuário um aviso sutil de que há uma oportunidade de reengajamento, decorando o ícone do aplicativo.

[8:24] Em breve, lançaremos um experimento de origin trial do Chrome de outra nova API, o Declarative Link Capturing, que permite que aplicativos web instalados sejam iniciados automaticamente quando o usuário clica em um link apropriado. Isso também pode impedir que várias instâncias do mesmo aplicativo sejam abertas, para que você não tenha tipo 10 abas com o mesmo aplicativo web nelas. Também melhoramos recentemente a interface de instalação de aplicativos web do Chrome. No desktop, agora mostramos um ícone na omnibox e fornecemos ajuda no produto para explicar esse recurso aos usuários.

[8:57] E no Android, deixamos o diálogo com aparência mais rica e mais familiar para os usuários, e facilitamos para os desenvolvedores preencherem o diálogo com imagens e textos personalizados especificados no arquivo manifest do aplicativo web. Então essas são formas pelas quais estamos melhorando a integração da web com os lançamentos do sistema operacional. Também estamos adicionando outras integrações com o sistema operacional, como a Multi-Screen Window Placement API, que permite que aplicativos web descubram todos os monitores conectados e controlem onde a janela é posicionada nessas telas.

[9:29] Na verdade, esse é um recurso bastante útil hoje em dia para aplicativos web de apresentação e videoconferência. Agora os aplicativos web finalmente podem ler e gravar no sistema de arquivos local do usuário usando a File System Access API, permitindo que aplicativos como Gravit Designer e PhotoBee ofereçam uma experiência de usuário muito mais fluida, persistindo o estado em disco e trabalhando com arquivos existentes. Também estamos trabalhando em uma nova File Handling API que permitiria que aplicativos web fossem registrados como manipuladores de tipos de arquivo, permitindo que os usuários abram arquivos diretamente em um aplicativo web a partir dos navegadores de arquivos do sistema operacional.

[10:08] Esperamos lançar uma versão experimental dessa API ainda este ano. Agora vamos falar sobre dispositivos periféricos; coisas como teclados de uso específico, controles de videogame, pianos digitais, headsets e mais. Ora, a web já tem a capacidade de se comunicar com dispositivos Bluetooth e MIDI há algum tempo. Mas várias novas APIs agora permitem suporte a uma coleção mais ampla desses dispositivos. Muitos deles se comunicam usando o protocolo HID. A web agora tem uma API para isso no Web HID.

[10:40] O controle Joy-Con da Nintendo é um exemplo de dispositivo que oferece suporte a esse protocolo. Para controles no estilo gamepad, a Gamepad API, padrão do setor, agora também é suportada pela web, e isso permite jogabilidade sem concessões com aplicativos como o Stadia no navegador. E você também pode usar um gamepad para controlar o dino do Chrome com estilo. A web também agora oferece suporte a portas seriais com a Web Serial API. Isso na verdade desbloqueia um dos meus novos casos de uso favoritos: o Piper Make.

[11:13] É um editor baseado em blocos que permite programar um Raspberry Pi Pico. Tudo o que você faz é simplesmente conectar o dispositivo a qualquer computador, abrir um navegador e pronto. Não é preciso instalar software nem mexer com drivers, tudo graças ao Web Serial. Agora, com esses e outros novos recursos da web, você pode levar experiências profundamente integradas e fluidas aos usuários em todos os lugares, diretamente pelo navegador. O Google Maps ocupa um lugar especial em nossos corações como um aplicativo web singularmente influente quando foi lançado há mais de 15 anos.

[11:46] O Maps continua inovando na web. Vários anos atrás, ele adotou o WebGL, permitindo gráficos acelerados por hardware e entregando uma interface do Maps muito mais poderosa no processo. No ano passado, a equipe do Maps permitiu que esses mesmos recursos de mapa acelerados por WebGL fossem usados em seu aplicativo web por meio da Maps JavaScript API. Este ano, a equipe tem algo novo para compartilhar. Junte-se a mim para receber Travis McPhail, o líder de engenharia da equipe, que nos contará mais sobre isso.

[12:18] Ficamos constantemente maravilhados com todas as formas como vocês usaram sua habilidade, sua criatividade e o conhecimento do Google sobre o mundo real para construir uma variedade inacreditável de experiências que verdadeiramente reimaginaram o mapa. E é nesse espírito que hoje, durante o keynote para desenvolvedores, anunciamos o lançamento beta de dois novos recursos que dão a vocês um controle sem precedentes do mapa base: inclinação e rotação, e WebGLOverlayView. Com esses recursos, você pode manipular o mapa em três dimensões pela primeira vez, aproveitando o poder do mesmo contexto WebGL que usamos para renderizar o mapa base.

[12:57] Pela primeira vez, você pode construir não apenas sobre o mapa, mas pode construir com ele. Vamos dar uma olhada rápida em como funciona. Para facilitar as coisas, estou usando three.js, uma biblioteca gráfica web popular, para renderizar um objeto 3D no mapa. Configurei um aplicativo web básico que carrega o mapa centralizado em um local na Península de Yucatán, no México. E estou usando um ID de mapa para poder usar o mapa vetorial e aplicar algum estilo personalizado.

[13:29] A primeira coisa que preciso fazer é implementar WebGLOverlayView estendendo google.maps.WebglOverlayView. A sobreposição WebGL expõe um conjunto de hooks no ciclo de vida do contexto de renderização WebGL do mapa base. Por hoje, vamos manter as coisas o mais simples possível e focar em apenas três deles. O primeiro, onAdd(), é chamado quando a instância da sobreposição é criada. O segundo, onContextRestored(), é chamado assim que o contexto de renderização estiver disponível.

[14:01] E o terceiro, onDraw(), é onde o mapa e qualquer outra coisa que você especificar é de fato renderizado. Em onAdd(), vou configurar tudo o que a cena precisa que não exija acesso imediato ao contexto de renderização. Começo criando uma nova cena three.js. Também crio uma câmera que representa a viewport da cena. Neste caso, uma câmera em perspectiva. Em seguida, a cena precisa de pelo menos uma fonte de luz para que quaisquer objetos renderizados sejam iluminados na cena.

[14:35] Para este exemplo, a luz ambiente é usada para iluminar igualmente todos os objetos em nossa cena. Agora estou pronto para adicionar meu objeto 3D usando o GLTFLoader. Assim que o objeto é carregado, eu o escalono e roto para que seja renderizado exatamente certo. Depois o adiciono à cena. Em onContextRestored(), configuro o WebGLRenderer do three.js, passando a ele o contexto de renderização do mapa e informações sobre a viewport. Depois que o objeto é renderizado, também quero animar a câmera para dar aos meus usuários uma visão dinâmica do objeto.

[15:13] Chamei moveCamera na função setAnimationLoop do renderizador. Também incremento tilt, heading e zoom só um pouquinho em cada quadro para criar um belo movimento em espiral descendente. Certo. Hora de renderizar. A câmera three.js precisa de uma matriz de projeção para saber como renderizar coordenadas de latitude e longitude no mundo 3D do mapa para as coordenadas 2D da tela. Agora, não sei vocês, mas transformações de matriz não são minha ideia de diversão.

[15:47] Então, para poupar vocês de um monte de matemática, entregamos a vocês um objeto transformer que tem a função fromLatLngAltitude, que cria essa matriz para você. Passo a ele as coordenadas de latitude e longitude onde quero que o modelo apareça, e defino o valor de retorno como camera.projectionMatrix. Tudo o que resta é limpar o estado do GL, dizer ao WebGLOverlayView que quero redesenhar chamando requestRedraw() na instância do WebGLOverlayView e renderizar a cena.

[16:18] E, por fim, crio uma instância da minha classe e defino a instância do mapa à qual quero que ela seja aplicada. E este é o resultado. Nada mal para alguns minutos de programação, certo? Inclinação e rotação e WebGLOverlayView são apenas a mais recente forma de cumprirmos nosso compromisso com vocês. Temos muito mais planejado, e mal podemos esperar para ver todas as formas que vocês vão inventar para reimaginar o mapa mais uma vez e nos mostrar o que vem a seguir. De volta para você, Dion. Obrigado, Travis.

[16:50] O WebGL trouxe um nível totalmente novo de desempenho gráfico para a web quando ficou disponível há vários anos. Atualmente estamos trabalhando em estreita colaboração com as comunidades de gráficos e web no WebGPU, a nova API gráfica de próxima geração, projetada do zero para desbloquear um nível totalmente novo de desempenho gráfico na web. Inspirando-se em APIs de baixo nível como Vulcan, Metal e Direct 3D 12, o WebGPU ainda é muito experimental e guarda uma promessa empolgante para o futuro.

[17:22] Outra tecnologia de desempenho fundamental é o Web Assembly, que fornece um padrão para compilar código em um formato rápido e eficiente que pode ser executado no navegador por mecanismos JavaScript modernos como o V8. Recentemente, demos ao Web Assembly um grande impulso de desempenho ao implementar suporte para instruções de processador SIMD no V8, o que permite que certas classes de aplicativos sejam executadas muito mais rapidamente. O Google Meet fornece um exemplo poderoso do SIMD em ação. Como qualquer aplicativo de videoconferência, o Meet precisa prestar muita atenção ao seu orçamento de desempenho.

[17:55] E há uma tensão constante entre processar o vídeo para aprimorá-lo e manter um fluxo suave e de baixa latência. Usando o teste experimental de origem do SIMD do V8, a equipe do Meet obteve um ganho de desempenho de 200% em seu pipeline de processamento de mídia no navegador. E isso, por sua vez, deu a eles o orçamento para habilitar um recurso de desfoque de fundo para a maioria de seus usuários, que era alimentado pelo TensorFlow no navegador. Estamos planejando enviar o SIMD para todos os usuários do Chrome nos próximos meses.

[18:26] Agora, o Web Assembly também é frequentemente usado para trazer bases de código não JavaScript para a web, desbloqueando-as para novos casos de uso. Por exemplo, os desenvolvedores por trás do mecanismo de sincronização offline-first, Replicache, conseguiram compilar seu código Rust para Web Assembly, permitindo que desenvolvedores web o incorporassem perfeitamente em seu aplicativo web. Para facilitar a portabilidade de código, o V8 adicionou suporte a threads ao Web Assembly em 2019. Mas isso só foi habilitado para sistemas operacionais desktop.

[18:57] Temos o prazer de compartilhar hoje que o Chrome para Android ganhou threads Web Assembly a partir do Chrome 88 em janeiro deste ano. Também aprimoramos a experiência de depuração do Web Assembly do V8 com suporte a breakpoints e inspeção de variáveis diretamente no Chrome DevTools. Estamos muito animados para ver o que você entregará com um runtime universal que funciona no cliente ou no servidor, é livre de bugs e extremamente rápido. Isso é Web Assembly. A equipe do V8 também tem trabalhado arduamente para extrair ainda mais desempenho do JavaScript de seu mecanismo.

[19:31] Então, além de interpretar JavaScript, o V8 também compila código em tempo real para uma execução mais eficiente. E a equipe implementou um compilador totalmente novo chamado Sparkplug. É claro que, às vezes, a melhor maneira de melhorar o desempenho da execução de código é não executar nenhum código. Nesse espírito, no início deste ano, lançamos um novo recurso do Chrome para alguns usuários chamado limitação intensiva de temporizadores, que detecta quando uma aba do navegador está em segundo plano por mais de cinco minutos e, desde que a aba não esteja reproduzindo áudio ou vídeo, o Chrome diminui a frequência com que executa código JavaScript baseado em temporizador nessa aba.

[20:10] Também aplicamos esse conceito com CSS ao lançar suporte para uma nova propriedade CSS chamada content-visibility. Quando você define essa propriedade como auto em um elemento, você está dando permissão ao navegador para pular a renderização do conteúdo dessa árvore de elementos se ela não estiver visível no momento na tela do usuário, e isso pode levar a um aumento dramático de velocidade para sites com muito conteúdo. Agora, há uma tonelada de inovação acontecendo na plataforma web para permitir um desempenho de tempo de execução significativamente mais rápido de seus aplicativos web.

[20:40] Além do trabalho que está acontecendo para expandir o poder e o desempenho da web, a plataforma também está evoluindo para oferecer uma experiência instantânea e perfeita para os usuários. No Chrome 87, lançado em novembro do ano passado, adicionamos um chamado cache de avançar/voltar ao Chrome no Android, ou BFCache, abreviadamente. O BFCache mantém algumas páginas web carregadas na memória depois que você navega para longe delas. Então, se um usuário clica em voltar ou avançar, a página é exibida instantaneamente. E acontece que uma em cada cinco navegações em dispositivos móveis faz exatamente isso, movendo-se para trás ou para frente no histórico de navegação.

[21:18] Portanto, esse recurso causa um impacto realmente grande. Embora hoje a implementação do BFCache do Chrome esteja disponível no Android, ela tem algumas limitações. Estamos planejando expandi-la para a plataforma desktop do Chrome em breve. Outra maneira de expandir experiências instantâneas é revisitar a noção de pré-renderização de páginas. A pré-renderização é a técnica de carregar todos os recursos de uma página web e até renderizar o DOM antes que o usuário clique em um link. Assim, ela pode ser exibida verdadeiramente de forma instantânea.

[21:48] Agora, isso é difícil de acertar porque o pré-carregamento dessas páginas também pode causar efeitos colaterais, se a página fizer algo como sair da conta ou se a página reproduzir áudio, então ela também pode começar a tocar de maneira misteriosa. Além disso, pode vazar algumas informações do usuário se for feito entre sites. Mas quando a pré-renderização é feita corretamente, ela proporciona essa experiência poderosa e instantânea de clique para o usuário. Então, estamos trabalhando em novas abordagens para pré-renderização que sejam privadas e seguras. Uma delas envolve uma nova API de pré-renderização que permitiria aos desenvolvedores experimentar isso no pré-carregamento no mesmo site ainda este ano.

[22:26] E as transições são outro aspecto importante da experiência do usuário, garantindo que os usuários possam mudar seu contexto à medida que navegam na web e chegar exatamente onde desejam ir. Um recurso divertido e simples com grande impacto é o scroll to text, adicionado ao Chrome 80 em fevereiro do ano passado. Ao adicionar um novo tipo de expressão ao final da sua URL, os navegadores podem posicionar a viewport em um elemento de texto específico e destacá-lo de alguma forma. Em breve lançaremos uma versão desta API que rola até imagens, e estamos explorando outros tipos de elementos também.

[22:59] Com as novas APIs de transição de documentos que estão chegando ao Chrome em breve como experimentos, também estamos construindo suporte para uma série de transições gráficas entre elementos, permitindo que o usuário perceba uma experiência perfeita à medida que se move entre os estados do seu aplicativo web. Também estamos trabalhando para tornar a segurança mais perfeita na web. Um recurso que me deixa particularmente animado são as senhas de uso único entre dispositivos para a web. Senhas de uso único são esses códigos numéricos que alguns sites podem enviar para você fazer login.

[23:31] Esse recurso permite que você receba uma dessas senhas de uso único no seu celular Android e, em seguida, faça com que ela seja transferida automaticamente para o seu navegador Chrome em execução em outro dispositivo, como um laptop. Todos esses novos recursos da web são empolgantes. Mas, à medida que o ritmo da evolução da web se acelera, também aumenta a complexidade que enfrentamos como desenvolvedores web para acompanhar tudo. Estamos trabalhando para tornar a web mais fácil para os desenvolvedores e fazendo parceria com o ecossistema mais amplo para entender e abordar os principais pontos problemáticos da plataforma.

[24:03] Para entender nossas recomendações mais recentes para desenvolvimento web, visite web.dev. O site inclui tutoriais detalhados sobre tópicos importantes, as últimas notícias e também fornece acesso à nossa ferramenta de auditoria de sites Lighthouse. Agora, com o Lighthouse, você obtém um relatório abrangente sobre como melhorar seu site, em uma variedade de categorias, como desempenho, acessibilidade e SEO. Atualizamos continuamente as orientações do Lighthouse para oferecer os melhores insights que podemos.

[24:35] Descobrimos que três das métricas de desempenho do Lighthouse têm um impacto particularmente grande na experiência do usuário. Nós as chamamos de Core Web Vitals. E, coletivamente, elas medem quão rápido um site exibe conteúdo importante, quão responsivo o site é para a primeira interação e quanto o layout do site se desloca. Sites em toda a web estavam usando as Core Web Vitals como uma Estrela do Norte para desempenho e estão relatando resultados encorajadores. Por exemplo, a editora italiana GEDI viu uma melhoria de 8% na taxa de rejeição em suas páginas de artigos para dispositivos móveis.

[25:13] Eles fizeram isso implementando um placeholder de marca para reservar espaço para anúncios em seus slots de anúncios na página, o que melhorou a estabilidade do layout, e então, adiando o carregamento de parte do código JavaScript até depois que a página estivesse visível, eles melhoraram a velocidade percebida de carregamento da página. Plataformas de conteúdo e comércio web também estão investindo em Core Web Vitals para melhorar o desempenho de todos os seus sites hospedados. Por exemplo, Shopify e Wix implementaram painéis em seu console de administração que colocam o desempenho em primeiro plano para os proprietários de sites.

[25:49] A comunidade WordPress também lançou adições orientadas a desempenho, como carregamento lento para imagens e iframes. Também atualizamos o Site Kit, o plugin oficial do Google para WordPress, com suporte para medir as Core Web Vitals, e ele também faz recomendações específicas de melhoria para os desenvolvedores. O Google Search também anunciou que as Core Web Vitals em breve farão parte de como as páginas são classificadas nos resultados de pesquisa. Achamos isso particularmente empolgante, pois amplia o benefício das Core Web Vitals para você, desenvolvedor.

[26:21] O investimento não apenas dará aos seus usuários uma experiência melhor, mas os ajudará a encontrar seu site por meio disso. Passamos um bom tempo ouvindo desenvolvedores, tanto em pequenos encontros quanto por meio de pesquisas em escala com desenvolvedores. Um dos temas comuns que ouvimos consistentemente é a importância da compatibilidade entre navegadores para os desenvolvedores. Então, este ano, anunciamos recentemente nossa participação em um esforço intersetorial chamado Compat2021, que visa corrigir os cinco principais pontos problemáticos de compatibilidade entre navegadores, conforme votado por desenvolvedores web, que, surpreendentemente, todos são relacionados a CSS.

[27:00] E falando em CSS, estamos vendo um renascimento empolgante nessa área. Temos até nosso próprio jardim zen moderno. CSS Flexbox e Grid foram abraçados pelos desenvolvedores como grandes melhorias para criar layouts de página, e aprendizados de anos de frameworks CSS como Sass estão sendo incorporados à plataforma, como aninhamento. E junto com as consultas de contêiner, que é o recurso mais solicitado por você, eu acho, para CSS, você poderá criar folhas de estilo mais modulares e reutilizáveis, permitindo regras que são naturalmente escopadas ao seu contexto local em vez de agir de forma tão global.

[27:37] Agora, um dos recursos mais populares do Chrome é seu conjunto de ferramentas de desenvolvedor integradas, que oferecem um kit de ferramentas incrivelmente poderoso que pode funcionar como seu copiloto de desenvolvimento web. No ano passado, aprimoramos o DevTools com uma série de novas melhorias, desde um novo seletor de cores, avisos e linting aprimorados de PWAs, uma sobreposição de Core Web Vitals, depuração dedicada de CSS Flexbox, visualização de quadros perdidos, suporte para CSS e JavaScript, e muito mais.

[28:09] E o DevTools também é uma plataforma porque suporta extensões. E um exemplo de uma nova extensão é a extensão Angular DevTools para Chrome, que fornece suporte a depuração e criação de perfil de desempenho específico para aplicativos Angular. Então, confira nossa sessão do Chrome DevTools para mergulhar em tudo isso e aprender mais sobre nossos novos recursos do DevTools. A web está evoluindo de maneiras fundamentais para não se tornar extinta. Ela está se tornando privada por padrão com novas APIs que protegem a privacidade do usuário, e também continua a ganhar novos recursos poderosos que ampliam o que é possível na plataforma, proporcionando melhores experiências ao usuário.

[28:51] Por fim, estamos comprometidos em fazer parceria com você no ecossistema à medida que a web evolui, para garantir que você tenha todas as ferramentas e orientações para o sucesso. Você pode se aprofundar em muitas dessas melhorias em toda a plataforma web conferindo várias outras sessões, muitas das quais destacamos hoje, no I/O deste ano. Obrigado pelo seu tempo, e esperamos ver o que você construirá com os recursos evoluídos da web moderna. E se você estiver assistindo a isso durante a Semana do I/O, venha nos encontrar no Adventure. Obrigado.

Ver a transcrição original em inglês

[0:05] -I’m Ben. -And I’m Dion. We’re leaders on the Chrome team. [Dion] The two of us have been working together on the web platform for many years. It’s been fun to watch as websites have evolved from simple connected documents to today's rich interactive web apps. The web has become a high performance, general purpose computing platform used by billions of people all across the globe. [Dion] The web’s growth has accelerated in the last year as the pandemic has pushed more of our daily interactions online, triggering a rush to improve web experiences as usage spikes.

[0:40] And for us, this reinforces the importance of the web and the need for all of us to work together to make it better. Now we’ve seen many computing platforms rise and fall over the past decades. One thing is really clear: the old adage evolve or die plays a major role in the ongoing relevance of any platform. Now, the web has evolved a great deal over the years. And looking forward, I think the pace of evolution is accelerating. because it kind of has to to keep pace with tech and society generally. So at Google I/O this year, we have a number of sessions that will bring you up to speed on some of the latest developments in the web.

[1:19] In this session, we’ll give you a quick summary of what we think are the key themes that you should keep in mind this year. And we’ll point you to where you can learn more and go deeper. We're going to start with privacy, explaining how the web is evolving to enable a private browsing experience for all users by default. Next we’ll cover how the web is enabling a new generation of powerful, fast, and seamless web apps and a fantastic user experience. And finally, we’ll summarize the work we’re doing to help developers be productive and successful with the web.

[1:52] So let’s get started with privacy, and we'll do that by talking about sandboxes. Modern browsers are built around the metaphor of a sandbox. Each website you visit is isolated by default from the rest of your system, including from websites and other open tabs just as though we’re surrounded by virtual walls like those of a sandbox in a garden. Now Chrome’s innovated with the browser sandbox model from its earliest days, first by isolating each website into its own process.

[2:23] And more recently, expanding on that to isolate each cross-site iframe on a webpage into its own process. We’re taking this same approach with user data and tracking, building a sort of privacy sandbox that seeks to keep all of your information safe and secure within your browser, resulting in a web where your identity and activity are private by default. We announced the Privacy Sandbox effort two years ago, as an open initiative, a collaboration with the community to bring this vision to life while also being careful to help transition the web ecosystem to a new model in a thoughtful, deliberate way.

[3:07] We’d like to give an update on our progress. Our first step, announced at Google I/O two years ago, was changing the behavior of cookies in Chrome, moving them from being visible across websites by default to being visible only to the same website that set them. Before this change, it wasn’t really clear whether a cookie was intended for first-party or third-party use and browsers needed to observe how cookies were used in the wild to infer their purpose. This also created a security problem because this wide default visibility of cookies exposed users to cross-site request forgery attack based on third parties observing the information in these cookies.

[3:48] Now, developers are required to opt in to use cookies across sites as so-called third-party cookies. And in turn, browsers could then disable such cookies in a very straightforward manner. This privacy-preserving default behavior is now enforced in Chrome, Edge, and, very soon, Firefox. Next we’ve been collaborating with the ecosystem on a new family of APIs that provide privacy-preserving alternatives to use cases that today rely on third-party cookies, such as federated login, personalized ads, and conversion tracking.

[4:23] To clarify how these APIs are approaching this challenge, let’s take a closer look at one of them: the Attribution Reporting API. So a key aspect of any web business is how you grow your user audience, and that often involves advertising to increase traffic. On the other side of those ad dollars, content publishers on the web often rely on revenue from advertisements to make their business model work. Finding out how many users actually clicked on the ad and whether those users subsequently did something like sign up for a newsletter or complete a purchase, is an important part of this model.

[5:01] Traditionally, this measurement is performed by tracking the user from before and after the click across websites with a third-party cookie. So how can we do this in a way that doesn’t involve tracking that user? Well, enter Attribution Reporting. Using this proposed API, no user-identifying data is shared between the sites. Instead, it’s the browser that keeps track of the ad conversion. Later, the browser sends an encrypted report to the advertiser for each of these conversion events.

[5:34] But it adds time delays and noise to these reports to further stifle attempts to identify users. This technique is broadly known as differential privacy. This approach enables both parties to still be able to measure the effectiveness of their ad campaigns and to understand what behavior the ads are able to drive and to do so without tracking the user across sites. Now Attribution Reporting is one of many new API proposals in the Privacy Sandbox project.

[6:06] It’s available for use as a Chrome origin trial’s experiment today, along with several other APIs, And we’ll ship more throughout the course of the year. As we work with all of you across the ecosystem to bring these new APIs to the web platform, we’re also moving forward with preparations to phase out third-party cookies and implementing protection against other forms of covert tracking. And we’ve got more details on what to do with your own cookies today in the technical sessions.

[6:36] So the Privacy Sandbox project represents a substantial evolution of the web platform, enabling privacy by default while also preserving critical web use cases. A change this large and fundamental to the web will take time, but we’re committed to this work and the benefits it will bring to web users globally. The web has evolved into a powerful application platform, enabling anyone with a modern browser to get access to category-leading experiences that load fast and run seamlessly.

[7:11] And devices like Chromebooks show how access to the web could be made affordable, safe, and simple with no need to be an expert at maintaining the underlying operating system. For years, we’ve been on a mission to ensure the web has all of the capabilities needed to bring state-of-the-art computing experiences to the platform. And since we last spoke to you at I/O, the web’s gained a significant array of new capabilities. We'd like to highlight a few of these for you. One area we’ve been working on has been making it easy for users to seamlessly re-engage with web apps.

[7:47] It has been possible for a few years to easily add web apps as icons to native launchers across both mobile and desktop, and it’s one of my favorite platform features. We want to talk about how we’ve deepened this integration between web apps and the underlying OS. With the new app shortcuts feature, web apps can expose quick actions on operating systems that support this feature, such as Android, Chrome OS, Windows, and macOS. And with the Badging API, web apps can give the user a subtle prompt that there’s an opportunity to re-engage by decorating the app’s icon.

[8:24] Soon, we'll be shipping a Chrome origin trial experiment of another new API, Declarative Link Capturing, that enables installed web apps to launch automatically when the user clicks on an appropriate link. This can also prevent multiple instances of the same app from opening so you don’t have like 10 tabs with the same web app in it. We’ve also recently improved Chrome’s web app installation UI. On desktop, we now show an omnibox icon and provide in-product help to explain this feature to users.

[8:57] And on Android, we’ve made the dialogue look richer and more familiar to users, and we’ve made it easy for developers to populate the dialogue with custom images and texts that are specified in the web app’s manifest file. So those are ways that we’re improving the web’s integration with OS launches. We're also adding other OS integrations, such as the Multi-Screen Window Placement API, which allows web apps to discover all of the connected displays and control where the window is placed on those screens.

[9:29] This is actually a pretty handy feature these days for web-based presentation and video conferencing apps. Now web apps can finally read and write to the user's local file system using the File System Access API, enabling apps like Gravit Designer and PhotoBee to provide a much more seamless user experience, persisting state to disk and working with existing files. We’re also working on a new File Handling API that would allow web applications to be registered as file type handlers, enabling users to open files directly in a web app from OS file browsers.

[10:08] We hope to ship an experimental release of this API later this year. Now let’s talk about peripheral devices; things like special-purpose keyboards, game controllers, digital pianos, headsets, and more. Now, the web’s had the ability to communicate with Bluetooth on MIDI devices for a while. But several new APIs now enable support for a broader collection of these devices. Many of these, communicate using the HID protocol. The web now has an API for this in Web HID.

[10:40] Nintendo’s Joy-Con controller is an example of a device that supports this protocol. For gamepad style controllers, the industry standard Gamepad API is now supported by the web as well, and this enables uncompromising gameplay with apps like Stadia in the browser. And you can also use a gamepad to control the Chrome dino in style. The web also now supports serial ports with the Web Serial API. This actually unlocks one of my favorite new use cases: Piper Make.

[11:13] It’s a block-based editor that allows you to program a Raspberry Pi Pico. All you do is simply plug in the device to any computer, open a browser, and off you go. No need to install software or mess with drivers, all thanks to Web Serial. Now with these and other new web capabilities, you can bring deeply integrated, seamless experiences to users everywhere right through the browser. Google Maps holds a special place in our hearts as a singularly influential web app when it first launched over 15 years ago.

[11:46] Maps continues to innovate on the web. Several years ago, they embraced WebGL, enabling hardware-accelerated graphics and delivered a much more powerful Maps UI in the process. Last year, the Maps team enabled those same WebGL-accelerated map capabilities to be used in your web app via the Maps JavaScript API. This year, the team has something new to share. Join me in welcoming Travis McPhail, the team’s engineering lead, who will tell us more about it.

[12:18] We’re constantly amazed by all the ways you’ve used your skill, your creativity, and Google’s knowledge of the real world to build an unbelievable variety of experiences that have truly re-imagined the map. And it's in that spirit today, during the developer keynote, we announced the beta release of two new features that give you unprecedented control of the base map: tilt and rotation, and WebGLOverlayView. With these features, you can manipulate the map in three dimensions for the first time while taking advantage of the power of the same WebGL context we use to render the base map.

[12:57] For the first time ever, you can build not just on top of the map, but you can build with it. Let's take a quick look at how it works. To make things easy, I’m using three.js, a popular web graphics library, to render a 3D object on the map. I've set up a basic web app that loads the map centered on a location in the Yucatán Peninsula of Mexico. And I'm using a map ID so that I can use the vector map and apply some custom styling.

[13:29] The first thing I need to do is implement WebGLOverlayView by extending google.maps.WebglOverlayView. The WebGL overlay exposes a set of hooks into the life cycle of the WebGL rendering context of the base map. For today, we'll keep things as simple as possible and focus on just three of them. The first, onAdd(), is called when the overlay instance is created. The second, onContextRestored(), is called once the rendering context is available.

[14:01] And the third, onDraw(), is what the map and anything else you specify is actually rendered. In onAdd(), I’m going to set up everything that the sscene needs that doesn’t require immediate access to the rendering context. I start by creating a new three.js scene. I also create a camera that represents the view port of the scene. In this case, a perspective camera. Next, the scene needs at least one light source so that any rendered objects are illuminated in the scene.

[14:35] For this example, ambient light is used to equally illuminate all objects in our scene. Now I’m ready to add my 3D object using the GLTFLoader. Once the object is loaded, I scale and rotate it. to have it rendered just right. Then I add it to the scene. In onContextRestored(), I configure the three.js WebGLRenderer, passing it the map’s rendering context and information about the viewport. Once the object renders, I also want to animate the camera to give my users a dynamic view of the object.

[15:13] I called moveCamera in the setAnimationLoop function of the renderer. I also increment tilt, heading, and zoom just a little bit in each frame to create a nice downward spiral motion. All right. Time to render. The three.js camera needs a projection matrix so that it knows how to render latitude and longitude coordinates in the 3D world of the map to the 2D coordinates of the screen. Now, I don’t know about you, but matrix transforms are not my idea of a good time.

[15:47] So, to save you a bunch of math, we hand you a transformer object that has the fromLatLngAltitude function which creates this matrix for you. I pass it the lat-long coordinates where I want the model to appear, and I set the return value as a camera.projectionMatrix. All that’s left is to clear the GL state, tell WebGLOverlayView I want to redraw by calling requestRedraw() on the WebGLOverlayView instance and render the scene.

[16:18] And finally, I create an instance of my class and set the map instance I want it applied to. And this is the result. Not too bad for a few minutes of coding, right? Tilt and rotation and WebGLOverlayView are just the latest way we're delivering on our commitment to you. We have a lot more planned, and we can’t wait to see all the ways you’ll come up with to reimagine the map all over again and show us what’s next. Back to you, Dion. Thanks, Travis.

[16:50] WebGL brought whole new level of graphics performance to the web when it became available several years ago. We are currently working closely with the graphics and web communities on WebGPU, the new next-generation graphics API, designed from the ground up to unlock a whole new level of graphics performance on the web. Taking inspiration from low-level APIs like Vulcan, Metal, and Direct 3D 12, WebGPU is still very experimental that holds exciting promise for the future.

[17:22] Another key performance technology is Web Assembly, which provides a standard for compiling code to a fast and efficient format that can be executed in the browser by modern JavaScript engines like V8. We recently gave Web Assembly a major performance boost by implementing support for SIMD processor instructions in V8, which enables certain classes of apps to run much faster. Google Meet provides a powerful example SIMD in action. Like any video conferencing app, Meet has to pay careful attention to their performance budget.

[17:55] And there’s a constant tension between processing the video in order to enhance it and maintaining a smooth, low-latency stream. Using V8′s experimental origin trial of SIMD, the Meet team achieved a 200% performance gain on their in-browser media processing pipeline. And this in turn, gave them the budget to enable a background blur feature for most of their users that was powered by TensorFlow in the browser. We’re planning to ship SIMD to all Chrome users in the coming months.

[18:26] Now, Web Assembly is also frequently used to bring non-JavaScript codebases to the web, unlocking them for new use cases. For example, the developers behind the offline-first sync engine, Replicache, were able to compile their Rust code to Web Assembly, enabling web developers to seamlessly incorporate it into their web app. To ease with code porting, V8 added threading support to Web Assembly back in 2019. But it was only enabled for desktop operating systems.

[18:57] We’re pleased to share today that Chrome for Android gained Web Assembly threads as of Chrome 88 in January of this year. We’ve also enhanced V8′s Web Assembly debugging experience with support for breakpoints and variable inspection right there in Chrome DevTools. We’re so excited to see what you deliver with a universal runtime that works on client or server is san bugs, and wicked fast. That's Web Assembly. The V8 team has also been hard at work at squeezing even more JavaScript performance out of its engine.

[19:31] So in addition to interpreting JavaScript, V8 also compiles code on the fly for more efficient execution. And the team has implemented a whole new compiler called Sparkplug. Of course, sometimes the best way to improve code execution performance is to not execute any code at all. In this spirit, earlier this year, we shipped a new Chrome feature to some users called intensive timer throttling that detects when a browser tab has been in the background for more than five minutes and as long as the tab isn’t playing any audio or video, Chrome slows down how frequently it executes timer-based JavaScript code on that tab.

[20:10] We've also applied this concept with CSS by shipping support for a new CSS property called content-visibility. When you set this property to auto on an element, you’re giving the browser permission to skip rendering the contents of that element tree if it isn’t currently visible on the user’s display, and this can lead to a dramatic speed boost for content-heavy sites. Now, there’s a ton of innovation happening on the web platform to enable significantly faster runtime performance of your web apps.

[20:40] In addition to the work happening to expand the power and performance of the web, the platform’s also evolving to deliver an instant and seamless experience for users. In Chrome 87, released in November last year, we added a so-called back/forward cache to Chrome on Android, or BFCache for short. BFCache keeps some web pages loaded in memory after you’ve navigated away from them. So if a user clicks back or forward, the page is displayed instantly. And it turns out, one in five navigations on mobile are doing exactly that, moving backwards or forward through the history stack.

[21:18] So this feature drives a really big impact. While today, Chrome’s BFCache implementation is available on Android, it does have some limitations. We are planning to expand it to the Chrome desktop platform soon. Another way we’re expanding instant experiences is by revisiting the notion of pre-rendering pages. Pre-rendering is the technique of loading all of a webpage’s resources and even rendering the DOM before the user clicks on a link So it can be displayed truly instantly.

[21:48] Now this is hard to get right because pre-loading these pages can also cause side effects, if the page does something like sign out or if the page plays audio, then it can also start playing in a mysterious way. Also, it can leak some user information if it's done across sites. But when pre-rendering is done right, it provides this powerful, instant click-through experience for the user. So, we’re working on new approaches to pre-rendering that are private and safe. One of these involves a new pre-rendering API that would enable developers to experiment with this on same site pre-loading later this year.

[22:26] And transitions are another important aspect of the user experience, ensuring that users are able to shift their context as they navigate the web and get right to where they want to go. One fun, simple feature with a big impact is scroll to text, added to Chrome 80 in February of last year. By adding a new type of expression to the end of your URL, browsers can position the viewport to a specific text element and highlight it in some way. Soon we’ll be shipping a version of this API that scrolls to images, and we're exploring other element types too.

[22:59] With the new document transition APIs that are coming to Chrome soon as experiments, we’re also building in support for a number of graphical transitions between elements, enabling the user to perceive a seamless experience as they move between states of your web app. We're also working to make security more seamless on the web. One feature I’m particularly excited about is cross-device one-time passwords for the web. One-time passwords are these numeric codes that some sites can send you to log in.

[23:31] This feature enables you to receive one of these one-time passwords on your Android phone, and then have that automatically transferred to your Chrome browser running on some other device like a laptop. All of these new web capabilities are exciting. But as the pace of web evolution accelerates, so too does the complexity we face as web developers in keeping track of everything. We’re working to make the web easier for developers and partnering with the broader ecosystem to understand and address the platform's top pain points.

[24:03] To understand our latest recommendations for web development, visit web.dev. The site includes detailed tutorials on key topics, the latest news, and it also provides access to our Lighthouse website auditing tool. Now, with Lighthouse, you get a comprehensive report on how to improve your website, across a variety of categories such as performance, accessibility, and SEO. We continually update Lighthouse guidance to give you the very best insights we can.

[24:35] We found that three of Lighthouse’s performance metrics are particularly impactful on the user experience. We call these Core Web Vitals. And collectively, they measure how fast a site displays key content, how responsive the site is for the first interaction, and how much the site’s layout shifts around. Sites across the web were using Core Web Vitals as a North Star for performance and are reporting encouraging results. For example, the Italian publisher GEDI saw an 8% improvement in the bounce rate on their mobile article pages.

[25:13] They did this by implementing a branded placeholder in order to reserve space for ads in their ad slots on the page, which improved their layout stability, and then by deferring loading of some their JavaScript code until after the page was visible, they improved the perceived page loading speed. Web content and commerce platforms. are also investing in Core Web Vitals to improve the performance of all of their hosted sites. For example, Shopify and Wix implemented dashboards in their admin console that puts performance front and center for site owners.

[25:49] The WordPress community has also shipped performance-oriented additions, such as lazy loading for images and iframes. We’ve also updated Site Kit, Google’s official plugin for WordPress, with support for measuring Core Web Vitals, and it also makes specific improvement recommendations to developers. Google Search has also announced that Core Web Vitals will soon be a part of how pages are ranked in search results. We think this is particularly exciting, as it magnifies the benefit of Core Web Vitals to you, the developer.

[26:21] The investment will not only give your users a better experience, but it will help them find your site through such. We spent a good amount of time listening to developers, both in small gatherings and through scaled developer surveys. One of the common themes we consistently hear is the importance to developers of cross-browser compatibility. So this year, we recently announced our participation in a cross-industry effort called Compat2021, which aims to fix the top five browser compatibility pain points as voted on by web developers, which, shockingly, all happen to be CSS related.

[27:00] And speaking of CSS, we’re seeing an exciting renaissance in this area. We even have our own modern-day zen garden. CSS Flexbox and Grid have been embraced by developers as major improvements for creating page layouts, and learnings from years of CSS frameworks like Sass are being baked into the platform, such as nesting. And along with container queries, which is your most requested feature, I think, for CSS, you will be able to create style sheets that are more modular and reusable by enabling rules that are scoped naturally to their local context versus acting so globally.

[27:37] Now, one of Chrome’s most popular features is its suite of built-in developer tools, which give you an incredibly powerful toolkit that can function as your web development copilot. Over the past year, we’ve enhanced DevTools with a bevy of new improvements ranging from a new color picker, improved warnings and linting of PWAs, a Core Web Vitals overlay, dedicated CSS Flexbox debugging, dropped frame visualization, support for CSS and JavaScript, and much more.

[28:09] And DevTools is also a platform because it supports extensions. And one example of a new extension is the Angular DevTools Chrome extension, which provides debugging and performance profiling support that’s specific to Angular apps. So check out our Chrome DevTools session to deep dive into all of this and learn more about our new DevTools features. The web is evolving in fundamental ways so it doesn’t become extinct. It’s becoming private by default with new APIs that protect user privacy, and it also continues to gain powerful new capabilities that broaden what’s possible on the platform, providing for better user experiences.

[28:51] Lastly, we’re committed to partnering with you in the ecosystem as the web evolves to make sure that you’ve got all of the tools and guidance for success. You can dive deeper into many of these improvements across the web platform by checking out a number of other sessions, many of which we’ve highlighted today, at this year’s I/O. Thanks for your time, and we look forward to seeing what you build with the evolved capabilities of the modern web. And if you’re watching this during I/O Week, come find us in Adventure. Thanks.

Abrir no ambiente de trabalho do Vidleaf

Pesquise a transcrição, selecione linhas, copie citações com carimbos de data/hora, traduza.

Abrir no ambiente de trabalho →

Atribuição

"O que há de novo para a plataforma web | Keynote" por Chrome for Developers (https://www.youtube.com/@chromedevs), licenciado sob CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/). Vídeo original: https://www.youtube.com/watch?v=0UiaD059eqM. Esta página é uma transcrição em texto do vídeo com quebras de parágrafo e carimbos de data/hora adicionados; o criador não é afiliado e não endossa o Vidleaf. O Vidleaf adicionou pontuação por IA e um resumo gerado por IA; o texto original permanece disponível nesta página.

Você é o criador ou detentor de direitos? Solicite uma correção ou remoção: copyright@vidleaf.app (veja Sobre estas páginas).

Última atualização