Gutenberg 8.9 tira widgets baseados em blocos do estágio experimental

Publicados: 2020-09-05

Na quarta-feira, 2 de setembro, o Gutenberg 8.9 foi lançado com um conjunto de novos recursos, aprimoramentos e várias correções de bugs. A equipe de desenvolvimento tirou o sistema de widgets baseado em blocos de seu estágio experimental, tornando-o a experiência padrão para todos os usuários de plugins.

Widgets baseados em blocos levaram meses e meses de trabalho. A equipe superou algumas das minhas expectativas essencialmente colocando um pino quadrado em um buraco quadrado, concedendo o poder dos blocos ao sistema de barras laterais/widgets. No geral, o sistema funciona. No entanto, a equipe ainda tem muito trabalho para moldar esse recurso na forma que ele precisa para o próximo lançamento do WordPress 5.6 em dezembro. É importante que a comunidade em geral teste, forneça feedback e contribua sempre que possível.

Os usuários do plugin Gutenberg que ainda não habilitaram widgets baseados em blocos por meio da tela de experimentos em versões anteriores terão uma surpresa. O novo sistema terá um pouco da familiaridade do editor de blocos. No entanto, é uma experiência muito diferente dos widgets tradicionais.

As grandes questões que devemos responder são se o recurso está atualmente utilizável e se pode estar pronto para o WordPress 5.6.

Tela de novos widgets

Nova tela de widgets baseados em blocos no Gutenberg 8.9.
Tela de widgets baseados em blocos.

O Gutenberg substitui completamente a antiga tela Aparência > Widgets no administrador do WordPress. O plugin não tem mais uma opção para os usuários finais desativá-lo, o que era esperado. O objetivo é começar a acostumar os usuários a construir suas barras laterais com blocos em vez de widgets tradicionais.

Na maioria das vezes, a nova tela de widgets lida com widgets baseados em blocos sem problemas do ponto de vista da usabilidade. Adicionar blocos é um pouco diferente de trabalhar com a tela de pós-edição. Deve parecer relativamente natural para usuários que estão acostumados com o editor de blocos. Se alguma coisa, a experiência parece reduzida em comparação.

Ao contrário dos widgets do passado, os blocos não podem ser recolhidos (as próprias barras laterais podem ser). Como um usuário de longa data do WordPress, isso parece desconfortável. No entanto, é o tipo de desconforto que simplesmente levará algum tempo de ajuste.

Os widgets legados principais funcionaram bem. No entanto, não consegui fazer com que os widgets legados funcionassem a partir de vários plugins de terceiros. Às vezes, eles desapareciam do editor. Então, eles apareceriam mais tarde, aparentemente de forma aleatória. Eventualmente, durante o teste, quebrei completamente a página a ponto de não exibir nada. Felizmente, consegui corrigi-lo limpando algumas linhas relacionadas ao widget do banco de dados.

Como desenvolvedor, quero simplesmente limpar a lousa e deixar o antigo sistema de widgets na poeira da história. No entanto, isso pode muito bem alienar muitos usuários finais. Para que esse recurso seja bem-sucedido, precisamos carregá-los e permitir que eles façam a transição facilmente de suas ferramentas atuais para o novo sistema.

Blocos de widgets no personalizador

Seção de blocos de widgets no personalizador do WordPress.
Seção de blocos de widgets no personalizador.

Embora a tela de blocos de widgets primários fosse geralmente sólida, esse não era o caso dos blocos de widgets no personalizador. Na melhor das hipóteses, foi sub-par.

Podemos finalmente estar nesse ponto em que concordo com todas as reclamações anteriores sobre o painel de controle do personalizador ser muito estreito. O problema mais óbvio era que a barra de ferramentas do bloco era muito larga para o painel de controle, escondendo partes dela fora da tela. Para alguns blocos, existem botões que os usuários não podem acessar.

Isso não é o fim das questões. As opções de bloco não estão disponíveis, portanto, os usuários não podem nem adicionar algo tão básico quanto um atributo alt de imagem. Os blocos de widgets legados principais não são editáveis. O pop-up do botão “mais opções” tem um fundo transparente, tornando o texto ilegível e, para todos os efeitos, não vale a pena tentar usá-lo.

Entendo que o WordPress ainda está longe de lançar blocos de widgets no customizador, mas o recurso ficou praticamente inutilizável. Ainda está em um estado experimental e provavelmente deveria ter permanecido opcional para outra atualização de plugin ou duas ou três. Não posso recomendar usar isso em qualquer tipo de ambiente de produção. Fique com a tela de widgets no admin.

Problemas de estilo de widgets/blocos para autores de temas

Visualização de código HTML de widgets baseados em blocos.
Nenhum agrupamento estruturado de HTML “widget”.

Uma das maiores mudanças que os autores de temas precisam estar cientes é que os blocos nas barras laterais não possuem os wrappers HTML de widget típicos. Isso pode apresentar alguns problemas com widgets de estilo da maneira tradicional. Por exemplo, os temas geralmente registram um elemento wrapper de widget e um wrapper para o título do widget. Isso permite que os autores de temas criem estilos consistentes para cada widget. Com blocos, isso se torna muito mais difícil porque o autor do tema perde esse controle — esse controle é passado para o usuário final.

A grande parte deste sistema é que os usuários podem fazer algumas coisas realmente interessantes e têm a flexibilidade de estilizar suas barras laterais da maneira que quiserem. A parte ruim é que, se um autor de tema tiver qualquer tipo de estilo complexo, como um design de widget em caixa, não há uma maneira fácil para o usuário final simplesmente colocar os widgets no lugar e fazer com que todos usem esse design em caixa. Não há um nome de classe padrão para o autor do tema segmentar com CSS, que é o que é necessário para widgets com estilo consistente.

Isso não é necessariamente uma coisa boa ou ruim em si. É simplesmente diferente.

Com isso dito, eu teria preferido que a equipe de desenvolvimento do Gutenberg criasse um sistema novo e separado do antigo sistema de barras laterais/widgets. Deixe isso no lugar e, em seguida, construa e promova “áreas de bloco” como um novo sistema para os autores de temas aproveitarem. A longo prazo, isso permitiria que os autores de temas fizessem a transição e até potencialmente suportassem ambos os sistemas em seus temas. Os autores de temas estão nas trincheiras, trabalhando com seus usuários no dia-a-dia. Eles estão em uma posição muito melhor para lidar com a transição do antigo para o novo.

Os autores de temas que não estão preparados para usar widgets baseados em blocos no WordPress 5.6 podem adicionar a seguinte linha de PHP ao código de configuração de seus temas para desabilitar o editor de blocos de widgets:

 remove_theme_support( 'widgets-block-editor' );

Com o tempo, os autores do tema desejarão fazer a transição completa para o novo sistema. No entanto, isso fornecerá tempo adicional para que eles façam quaisquer ajustes que possam ser necessários na forma como os widgets são tratados.