APIs de desempenho na Web se tornam rapidamente recomendações candidatas do W3C

Estamos felizes em compartilhar que três novas especificações do Grupo de Trabalho de desempenho da Web do W3C foram movidas para as recomendações candidatas do W3C. A medição precisa das características do desempenho dos aplicativos da Web é um fator crítico para tornar a Web mais rápida. Além disso, os desenvolvedores precisam ser capazes de usar de maneira eficiente o hardware subjacente para melhorar o desempenho dos aplicativos. Nos últimos dois anos, as companhias, incluindo Microsoft, Google, Mozilla, Intel e Facebook, vem trabalhando para alcançar essas metas por meio do grupo de trabalho. Esse é um ótimo exemplo do que é possível quando o setor e a comunidade se juntam por meio do W3C.

As especificações de Tempo de navegação, Tempo de recurso, Tempo de usuário e Linha do tempo do desempenho ajudam os desenvolvedores a medir com precisão o desempenho dos aplicativos da Web. As três primeiras especificações oferecem aos desenvolvedores informações relacionadas à navegação do documento, aos recursos da página e aos scripts de desenvolvedor, respectivamente. A especificação de Linha do tempo do desempenho define uma interface unificada para recuperar os dados de tempo. Antes desses APIs, os desenvolvedores não conseguiam medir com precisão o desempenho do site.

Para garantir que essas métricas de desempenho sejam medidas da forma mais precisa possível, a especificação de Tempo de alta resolução define uma resolução de relógio de submilissegundos. Essa interface beneficia as medições precisas de métricas de desempenho e também permite um cálculo da taxa de quadros e uma sincronização de indicações de áudio e animação melhores. Pela primeira vez, os desenvolvedores podem medir as operações com uma precisão de submilissegundos.

As especificações de Visibilidade da página, Controle de tempo para animações baseadas em script e Concessão eficiente de script ajudam os desenvolvedores a escrever mais aplicativos da Web mais eficientes no CPU e com economia de energia. O API de Visibilidade da página permite a determinação programática do estado de visibilidade atual da página. Os desenvolvedores podem usar esses dados para tomar decisões de CPU e de economia de energia melhores, por exemplo, diminuindo a atividade quando a página estiver na guia em segundo plano. O API requestAnimationFrame, da especificação de Controle de tempo para animações baseadas em script, permite a criação de animações JavaScript mais eficientes. Por último, o API setImmediate, da especificação Concessão eficiente de script, permite que os desenvolvedores ofereçam um controle de fluxo eficiente para o agente de usuário e receba um retorno de chamada imediato, aproveitando CPU com eficiência.

Para garantir que os desenvolvedores da Web precisem apenas escrever os códigos uma vez e que eles funcionem interoperacionalmente em todos os navegadores, o Grupo de Trabalho trabalhou incansavelmente estes últimos dois anos para padronizar esses APIs. A tabela abaixo mostra o nível de maturidade de todas as especificações que estão sendo editadas atualmente no Grupo de Trabalho.

Especificação Rascunho do editor Primeiro rascunho de trabalho público Última videochamada Última videochamada 2 Recomen. candidata Recomen. proposta Recomen.
Tempo de navegação Set 2010 Out 2010 Jan 2011 Fev 2011 Jul 2012
Tempo de recurso Set 2010 Mai 2011 Jun 2011 Mai 2012
Tempo do usuário Out 2010 Ago 2011 Ago 2011 Mai 2012 Jul 2012
Linha do tempo do desempenho Jul 2011 Ago 2011 Ago 2011 Mai 2012 Jul 2012
Tempo de alta resolução Mar 2012 Mar 2012 Mar 2012 Mai 2012
Visibilidade da página Abr 2010 Jun 2011 Jul 2011 Jul 2012
Exibir notificação de pintura Mai 2011 Jun 2011 Fev 2012
Concessão de script eficiente Jun 2011
Tempo de navegação 2 (NOVO) Abr 2012 Mai 2012

Tabela demonstrando o status das especificações de desempenho da Web de W3C

A partir deste mês, a especificação de Tempo de navegação foi publicada como uma Recomendação proposta (PR). Esse estágio de padronização é a última etapa antes de um padrão de Web se tornar uma Recomendação W3C oficial. Além disso, essa interface foi amplamente adotada nos navegadores, incluindo o suporte desde o Internet Explorer 9, Chrome 6 e firefox 7. O grupo de trabalho começou a incorporar recentemente os comentários e a trabalhar no Tempo de navegação 2, a próxima versão da especificação.

A partir deste mês, as especificações de Tempo de usuário, Linha do tempo do desempenho e Visibilidade da página foram publicadas como Recomendações candidatas (CR). Esse estágio da padronização precede o estágio de PR e reflete na crença do W3C de que essas especificações foram amplamente revisadas e satisfazem os requisitos técnicos do Grupo de Trabalho. O Tempo de recurso foi publicado como CR há dois meses, junto com o Tempo de alta resolução, que passou de Rascunho do editor para CR em apenas três meses.

Esses APIs são ótimos exemplos de quão rapidamente novas ideias podem se tornar padrões interoperacionais nos quais os desenvolvedores podem depender em navegadores modernos com HTML5 habilitado. Agradecemos a todos do Grupo de Trabalho de desempenho da Web do W3C por ajudarem a desenvolver esses APIs e a outros fornecedores de navegador por começarem a implementar esses APIs buscando a interoperabilidade.

—Jatinder Mann, gerente de programa, desempenho do IE