A API de fontes da Web proposta não está chegando ao WordPress 5.9, possivelmente chegando ao Gutenberg primeiro
Publicados: 2021-11-12Depois do que parecia ser um shoo-in para o WordPress 5.9, uma API de fonte da web proposta foi suspensa. O recurso padronizaria como os desenvolvedores de temas e plugins carregam fontes e estabelecem as bases para futuros recursos voltados para o usuário.
Jono Alderson abriu um ticket para o recurso em fevereiro de 2019. Nos últimos meses, a proposta ganhou velocidade. A solicitação de pull teve mais de 200 mensagens in-ticket, 93 commits e aprovação de código de dois committers principais. A API parecia pronta. No entanto, ele parou nos últimos dias.
Andrew Ozz, um desenvolvedor líder do WordPress, essencialmente interrompeu a possibilidade de a nova API chegar na versão 5.9. Ele afirmou que não achava que a proposta estava pronta para o WordPress.
“Puramente como código, parece bom”, escreveu ele no bilhete. “Está muito bem documentado (obrigado [Tonya Mark]!). No entanto, ainda não consigo ver como isso tornaria o WordPress melhor a curto e longo prazo. Estávamos conversando com [Andrei Draganescu] e ele sugeriu que, idealmente, este deveria ter sido um plugin de recursos, e eu concordo. Então teria sido possível realmente testá-lo em produção, verificar (ou rejeitar) as suposições feitas ao criá-lo e torná-lo uma adição realmente valiosa ao WordPress. Infelizmente, é tarde demais para isso agora para 5,9.”
Um dos problemas com plug-ins de recursos de teste para APIs é que eles não são adotados com frequência, como outros observaram no ticket. Os desenvolvedores não confiariam neles na produção na maioria dos casos. E o usuário final médio não instalaria algo específico para desenvolvedores.
“Sugerir que isso seja feito como um plugin de recursos é uma maneira elegante de atrasar algo por alguns anos”, disse Ari Stathopoulos, um dos desenvolvedores por trás da API. No entanto, ele apontou que a API REST é uma exceção que teve um desempenho bom o suficiente para ser portada para o WordPress.
A proposta principal do WordPress provavelmente será inserida no plugin Gutenberg para exploração adicional. Isso seria uma espécie de compromisso entre lançar como um plugin de recurso separado e entrar no WordPress 5.9.
A API de fontes da web não está diretamente relacionada ao sistema de blocos. Ambos os temas tradicionais e de bloco, bem como plugins, podem fazer uso do recurso hoje. No entanto, várias propostas do Gutenberg dependem da existência da API, como permitir que autores de temas definam fontes da Web por meio de seus arquivos theme.json .
Ozz listou várias perguntas sobre a proposta, e vários desenvolvedores responderam a cada uma. No entanto, seu argumento principal dependia da praticidade de por que tudo na API era necessário, afirmando que as respostas anteriores haviam sido “em princípio” e pareciam ser baseadas em suposições.
No nível mais básico, a API de fontes da web permitiria que os desenvolvedores registrassem e carregassem fontes hospedadas localmente ou aquelas do Google Fonts. Os desenvolvedores também podem adicionar provedores personalizados fora dos dois padrões. A primeira iteração da API proposta foi mais sobre estabelecer uma base para construir em futuras versões do WordPress.
O apelo do recurso não é simplesmente carregar fontes. Tecnicamente, os autores de temas poderiam fazer isso com uma única linha de código, se quisessem. Quatro linhas de código se eles quisessem seguir os padrões atuais do WordPress, pelo menos no front-end.

Stathopoulos fez uma lista de melhorias que tal API traria ao WordPress e suas extensões.
- Os temas podem definir fontes por meio de seus arquivos
theme.json. - Visualizações de fontes no seletor de família de fontes no editor.
- Mostrando pesos de fonte e estilos válidos para uma família de fontes.
- Melhor desempenho de front-end.
- Localização do lado do servidor para melhor desempenho e privacidade.
Esta foi uma pequena amostra dos argumentos a favor da inclusão da API no núcleo do WordPress.
“Existem muitas melhorias no Gutenberg que estão no limbo, esperando por uma API de fontes da web”, escreveu Stathoplous no ticket. “Não ter uma API de fontes da web é um bloqueador neste momento. Não é um item bom de se ter em nossa lista de desejos, é um requisito para seguir em frente.”
Atualmente, nenhum padrão se refere especificamente a fontes da web no WordPress. Os autores do tema pegam carona nas funções existentes para enfileirar uma folha de estilo de terceiros ou uma personalizada com regras @font-face . Essa tem sido uma prática geralmente aceita na comunidade de autores temáticos ao longo dos anos.
No entanto, muitos aceitaram de má vontade. Vários criaram scripts personalizados para aliviar os pontos problemáticos. Muitos outros apenas copiam qualquer método que o último tema padrão do WordPress esteja usando.
Um dos objetivos é fazer com que os desenvolvedores não precisem se preocupar em fazer todo o trabalho extra envolvido no carregamento de fontes da web. Realmente não deveria haver necessidade de um tema para descobrir como carregá-los no editor e no front-end, lidar com o pré-carregamento ou contabilizar a localização. À medida que os temas envelhecem e as APIs de terceiros, como o Google Fonts, mudam, não haverá necessidade de atualização dos temas se o WordPress cuidar disso nos bastidores.
O problema da melhor forma de carregar fontes da web se multiplica quando você lança plugins na mistura. Geralmente, os temas fazem todo o trabalho pesado quando se trata de design. No entanto, alguns plugins saltam para esse lado do mundo WordPress para adicionar opções extras de estilo. Não há como resolver conflitos ao carregar várias cópias da mesma fonte. Também não há maneiras infalíveis de desativar as fontes de um tema e substituí-las por meio do plug-in.
Um desses autores de plugins me enviou um e-mail para me informar as novidades que eu já conhecia. A API de fontes da web parecia não estar mais no WordPress 5.9. O desenvolvedor estava se preparando para lançar um novo site e serviço em cima do novo recurso. Eles até tinham um mascote. A partir de agora, pode ter que esperar.
O prazo de congelamento de recursos foi há dois dias. Portanto, é improvável que a API de fontes da web seja adicionada de volta ao marco do WordPress 5.9. Talvez os desenvolvedores vejam quando o 6.0 chegar. Talvez empurrá-lo para o plugin Gutenberg dê um pouco mais de vida a ele, permitindo que os contribuidores avancem com novos recursos que dependem dele.
