O (próximo) WordPress Renaissance

Publicados: 2022-03-10
Resumo rápido ↬ Desde seu lançamento há 8 meses, o Gutenberg foi bastante aprimorado, oferecendo uma experiência de usuário muito mais rica do que qualquer coisa que fosse possível no WordPress. Vamos dar uma olhada em seus últimos desenvolvimentos e para onde está indo.

Já se passaram 8 meses desde que o Gutenberg foi lançado como editor de conteúdo padrão no WordPress. Dependendo de quem você perguntar, você pode ouvir que Gutenberg é a pior ou a melhor coisa que aconteceu com o WordPress (ou qualquer coisa entre elas). Mas algo com o qual a maioria das pessoas parece concordar é que Gutenberg vem melhorando constantemente. No ritmo atual de desenvolvimento, é apenas uma questão de tempo até que seus problemas mais importantes sejam resolvidos e a experiência do usuário se torne realmente agradável.

Gutenberg é um trabalho contínuo em andamento. Ao usá-lo, sinto incômodos enlouquecedores, como opções flutuantes nas quais não posso clicar porque o bloco colocado abaixo é selecionado, agrupamento não intuitivo de blocos, colunas com tantas lacunas que as tornam inúteis e o elemento “+” chamando minha atenção por toda a página. No entanto, os problemas que encontro ainda são relativamente gerenciáveis ​​(o que é uma melhoria em relação às versões anteriores) e, além disso, Gutenberg começou a fazer seus benefícios potenciais se tornarem realidade: muitos de seus bugs mais urgentes foram resolvidos, seus problemas de acessibilidade são sendo resolvidos, e recursos novos e interessantes estão continuamente sendo disponibilizados. O que temos até agora é bastante decente, e só vai ficar cada vez melhor.

Vamos rever os novos desenvolvimentos que ocorreram desde o lançamento do Gutenberg e para onde ele está indo.

Nota: Para obter mais informações sobre este tópico, recomendo assistir à palestra do fundador do WordPress, Matt Mullenweg, durante o recente WordCamp Europe 2019.

Mais depois do salto! Continue lendo abaixo ↓

Por que Gutenberg foi necessário

Gutenberg chegou bem a tempo de dar o pontapé inicial no rejuvenescimento do WordPress, para tentar tornar o WordPress atraente para os desenvolvedores mais uma vez (e reverter seu status atual de ser a plataforma mais temida). O WordPress parou de parecer atraente por causa de seu foco em não quebrar a compatibilidade com versões anteriores, o que impediu o WordPress de incorporar código moderno, tornando-o pálido em comparação com estruturas mais novas e brilhantes.

Muitas pessoas argumentam que o WordPress não corria risco de morrer (afinal, ele alimenta mais de 1/3 da web), de modo que Gutenberg não era realmente necessário, e eles podem estar certos. No entanto, mesmo que o WordPress não estivesse em perigo imediato, por estar desconectado das tendências modernas de desenvolvimento, ele estava indo para a obsolescência, possivelmente não no curto prazo, mas certamente no médio e longo prazo. Vamos revisar como o Gutenberg melhora a experiência para diferentes partes interessadas do WordPress: desenvolvedores, administradores de sites e usuários de sites.

Os desenvolvedores recentemente adotaram a criação de sites por meio de bibliotecas JavaScript Vue e React devido (entre outras razões) ao poder e conveniência dos componentes, que se traduz em uma experiência de desenvolvedor satisfatória. Ao entrar na onda e adotar essa técnica, Gutenberg permite que o WordPress atraia desenvolvedores mais uma vez, permitindo que eles codifiquem de uma maneira que considerem gratificante.

Os administradores de sites podem gerenciar seu conteúdo com mais facilidade, melhorar sua produtividade e alcançar coisas que não podiam ser feitas antes. Por exemplo, colocar um vídeo do Youtube através de um bloco é mais fácil do que através do TinyMCE Textarea, os blocos podem servir imagens ideais (comprimidas, redimensionadas de acordo com o dispositivo, convertidas para um formato diferente e assim por diante) eliminando a necessidade de fazê-lo manualmente, e os recursos WYSIWYG ( O que você é o que você vê) são decentes o suficiente para fornecer uma visualização em tempo real de como o conteúdo ficará no site.

Ao dar-lhes acesso a funcionalidades poderosas, os usuários do site terão uma maior satisfação ao navegar em nossos sites, como experimentado ao usar aplicativos da Web altamente dinâmicos e fáceis de usar, como Facebook ou Twitter.

Além disso, Gutenberg está lenta mas seguramente modernizando todo o processo de criação do site. Embora atualmente ele possa ser usado apenas como editor de conteúdo, em algum momento no futuro ele se tornará um construtor de sites completo, permitindo colocar componentes (chamados de blocos) em qualquer lugar de uma página, incluindo cabeçalho, rodapé, barra lateral, etc. (Automattic, a empresa por trás do WordPress.com, já começou a trabalhar em um plugin adicionando recursos completos de edição de site para seu site comercial, a partir do qual ele pode ser adaptado para o software WordPress de código aberto.) Por meio do recurso de criação de sites, não Os usuários tecnológicos poderão adicionar funcionalidades muito poderosas aos seus sites com muita facilidade, então o WordPress continuará recebendo a maior comunidade de pessoas que trabalham na web (e não apenas desenvolvedores).

Ritmo Rápido de Desenvolvimento

Uma das razões pelas quais o Gutenberg tem visto um ritmo de desenvolvimento tão rápido é porque ele está hospedado no GitHub, o que simplifica o gerenciamento de código, problemas e comunicação em comparação com o Trac (que lida com o núcleo do WordPress) e facilita o primeiro -time para se envolver, pois eles já podem ter experiência em trabalhar com o Git.

Sendo desacoplado do núcleo do WordPress, o Gutenberg pode se beneficiar da iteração rápida. Mesmo que uma nova versão do WordPress seja lançada a cada 3 meses, o Gutenberg também está disponível como um plugin autônomo, que recebe um novo lançamento a cada duas semanas (enquanto a versão mais recente do WordPress contém a versão 5.5 do Gutenberg, a versão mais recente do plugin é 6.2 ). Ter acesso a novas funcionalidades poderosas para nossos sites a cada duas semanas é realmente muito impressionante e permite desbloquear outras funcionalidades do ecossistema mais amplo (por exemplo, o plug-in AMP requer o Gutenberg 5.8+ para vários recursos).

WordPress sem cabeça para alimentar várias pilhas

Um dos efeitos colaterais do Gutenberg é que o WordPress se tornou cada vez mais “sem cabeça”, dissociando ainda mais a renderização do aplicativo do gerenciamento do conteúdo. Isso ocorre porque o Gutenberg é um cliente front-end que interage com o back-end do WordPress por meio de APIs (a WP REST API), e o desenvolvimento do Gutenberg exigiu uma expansão consistente das APIs disponíveis. Essas APIs não estão restritas ao Gutenberg; eles podem ser usados ​​em conjunto com qualquer estrutura do lado do cliente, para renderizar o site usando qualquer pilha.

Um exemplo de pilha que podemos aproveitar para nosso aplicativo WordPress é o JAMstack, que defende uma arquitetura baseada em sites estáticos aumentados por meio de serviços de terceiros (APIs) para se tornarem dinâmicos (na verdade, a Smashing Magazine é um site JAMstack!). Dessa forma, podemos hospedar nosso conteúdo no WordPress (alavancando-o como um Content Management System, que é o que realmente é bom), construir um aplicativo que acesse o conteúdo por meio de APIs, gerar um site estático e implantá-lo em um Content Delivery Network, proporcionando menores custos e maior velocidade de acesso.

Nova funcionalidade

Vamos brincar com o Gutenberg (o plugin, não o incluído no núcleo do WordPress, que está disponível aqui) e ver quais funcionalidades foram adicionadas nos últimos meses.

Gerenciador de Blocos

Através do gerenciador de blocos, podemos decidir quais blocos estarão disponíveis no editor de conteúdo; todos os outros serão desativados. A remoção do acesso a blocos indesejados pode ser útil em diversas situações, como:

  • Muitos plugins são pacotes de blocos; ao instalar tal plugin, todos os seus blocos serão adicionados ao editor de conteúdo, mesmo que precisemos apenas de um
  • Até 40 provedores de incorporação são implementados no núcleo do WordPress, mas podemos precisar de apenas alguns deles para o aplicativo, como Vimeo e Youtube
  • Ter uma grande quantidade de blocos disponíveis pode nos sobrecarregar, prejudicando nosso fluxo de trabalho ao adicionar camadas extras que o usuário precisa navegar, levando a um uso subótimo do tempo; portanto, desabilitar temporariamente os bloqueios desnecessários pode nos ajudar a ser mais eficazes
  • Da mesma forma, ter apenas os blocos de que precisamos evita possíveis erros causados ​​pelo uso de blocos errados; em particular, estabelecer quais blocos são necessários pode ser feito de cima para baixo, com o administrador do site analisando todos os blocos disponíveis e decidindo quais usar, e impondo a decisão aos gerenciadores de conteúdo, que são então dispensados ​​dessa tarefa e podem se concentrar em suas próprias tarefas.
Gerenciador de blocos
Habilitando/desabilitando blocos pelo gerenciador (Visualização grande)

Bloco de cobertura com elementos de aninhamento

O bloco de capa (que nos permite adicionar um título sobre uma imagem de fundo, geralmente útil para criar cabeçalhos de heróis) agora define seus elementos internos (ou seja, o título e os botões, que podem ser adicionados para criar uma chamada à ação) como elementos aninhados, permitindo-nos modificar suas propriedades de forma uniforme entre os blocos (por exemplo, podemos colocar o título em negrito e adicionar um link a ele, colocar um ou mais botões e alterar sua cor de fundo, entre outros).

Bloco de cobertura
O bloco de capa aceita elementos aninhados (visualização grande)

Agrupamento e aninhamento de blocos

Por favor, tenha cuidado: Esses recursos ainda estão com bugs! No entanto, muito tempo e energia estão sendo dedicados a eles, então podemos esperar que funcionem sem problemas em breve.

O agrupamento de blocos permite agrupar vários blocos, portanto, ao movê-los para cima ou para baixo na página, todos eles se movem juntos. Aninhamento de blocos significa colocar um bloco dentro de um bloco, e não há limite para a profundidade de aninhamento, então podemos ter blocos dentro de blocos dentro de blocos dentro de… (você já me pegou). O aninhamento de blocos é especialmente útil para adicionar colunas no layout, por meio de um bloco de colunas, e então cada coluna pode conter dentro de qualquer tipo de bloco, como imagens, texto, vídeos, etc.

Agrupamento e aninhamento de blocos
Os blocos podem ser agrupados e aninhados uns dentro dos outros (visualização grande)

Migração de widgets pré-existentes

Enquanto no passado existiam vários métodos para adicionar conteúdo na página (conteúdo TinyMCE, shortcodes, widgets, menus, etc.), os blocos tentam unificar todos eles em um único método. Atualmente, o código legado recentemente considerado, como widgets, está sendo migrado para o formato de bloco.

Recentemente, o widget “Últimos Posts” foi reimplementado como um bloco, suportando a visualização em tempo real de como o layout fica ao configurá-lo (alterando o número de palavras a serem exibidas, mostrando um trecho ou o post completo, exibindo a data ou não, etc).

Widget de postagens mais recentes
O widget “Últimas postagens” inclui várias opções para personalizar sua aparência (visualização grande)

Animação em movimento

Mover blocos para cima ou para baixo na página costumava envolver uma transição abrupta, às vezes dificultando a compreensão de como os blocos eram reordenados. Desde o Gutenberg 6.1, um novo recurso de animação de movimento resolve esse problema adicionando um movimento realista às alterações de bloco, como ao criar, remover ou reordenar um bloco, fornecendo uma sugestão visual muito melhorada das ações tomadas para reordenar os blocos. Além disso, o conceito geral de animação em movimento pode ser aplicado em todo o Gutenberg para expressar mudanças e, assim, melhorar a experiência do usuário e fornecer melhor suporte à acessibilidade.

Animação de movimento
Os blocos têm um efeito suave ao serem reordenados. (Visualização grande)

Funcionalidade (espero) em breve

De acordo com o fundador do WordPress, Matt Mullenweg, apenas 10% do roteiro completo de Gutenberg foi implementado até agora, então há muitas novidades interessantes reservadas para nós. O trabalho nos novos recursos listados abaixo já começou ou a equipe está testando-os no momento.

  • Bloquear diretório
    Um novo item de nível superior no wp-admin que fornecerá descoberta de bloco. Dessa forma, os blocos podem ser instalados de forma independente, sem a necessidade de enviá-los por meio de um plugin.
  • Blocos de navegação
    Atualmente, os menus de navegação devem ser criados através de uma interface própria. No entanto, em breve poderemos criá-los através de blocos e colocá-los em qualquer lugar da página.
  • Instalação em linha de blocos
    Sendo capaz de descobrir blocos, o próximo passo lógico é poder instalar um novo bloco on-the-fly, onde é mais necessário: No editor de postagens. Poderemos instalar um bloco enquanto escrevemos uma postagem, usar o novo bloco para gerar seu HTML, salvar sua saída na postagem e remover o bloco, tudo sem nunca navegar para uma página de administração diferente.
  • Ajustar à grade ao redimensionar imagens
    Quando colocamos várias imagens em nosso post, redimensioná-las para a mesma largura ou altura pode ser um processo doloroso de tentar e falhar repetidamente até acertar, o que está longe de ser o ideal. Em breve, será possível encaixar a imagem em uma camada de grade virtual que aparece no plano de fundo à medida que a imagem é redimensionada.

WordPress está se tornando atraente (mais uma vez)

Várias razões apoiam a ideia de que o WordPress em breve se tornará uma plataforma atraente para codificar, como costumava ser uma vez. Vamos ver alguns deles.

Modernização do PHP

A busca de modernização do WordPress não termina com a incorporação de bibliotecas e ferramentas JavaScript modernas (React, webpack, Babel): Ela também se estende à linguagem do lado do servidor: PHP. A versão mínima do PHP do WordPress foi recentemente aumentada para 5.6 e deve ser aumentada para a versão 7.0 já em dezembro de 2019. O PHP 7 oferece vantagens notáveis ​​sobre o PHP 5, mais notavelmente mais que dobra sua velocidade e versões posteriores do PHP (7.1 , 7.2 e 7.3) se tornaram ainda mais rápidos.

Mesmo que pareça não haver planos oficiais para atualizar ainda mais do PHP 7.0 para suas versões posteriores, uma vez que o impulso está lá, é mais fácil mantê-lo. E o próprio PHP também está sendo melhorado incansavelmente. O próximo PHP 7.4, a ser lançado em novembro de 2019, incluirá muitas novas melhorias, incluindo funções de seta e o operador de propagação dentro de matrizes (como usado para JavaScript moderno) e um mecanismo para pré-carregar bibliotecas e estruturas no OPCache para aumentar o desempenho, entre vários outros recursos interessantes.

Reutilização de código entre plataformas

Um grande efeito colateral do Gutenberg ser desacoplado do WordPress é que ele também pode ser integrado a outros frameworks. E foi exatamente isso que aconteceu! Gutenberg está agora disponível para Drupal, e Laraberg (para Laravel) em breve será lançado oficialmente (atualmente testando o release candidate). A beleza desse fenômeno é que, através do Gutenberg, todos esses diferentes frameworks agora podem compartilhar/reutilizar código!

Conclusão

Nunca houve um momento melhor para ser um desenvolvedor web. O ritmo de desenvolvimento de todas as linguagens e tecnologias envolvidas (JavaScript, CSS, otimização de imagem, fontes variáveis, serviços em nuvem, etc) é impressionante. Até recentemente, o WordPress estava olhando para essa tendência de desenvolvimento de fora, e os desenvolvedores podem ter sentido que estavam perdendo o trem da modernização. Mas agora, por meio de Gutenberg, o WordPress também está no trem e acompanhando seu histórico de direcionar a web em uma direção positiva.

O Gutenberg pode não estar totalmente funcional ainda, pois tem muitos problemas para resolver e ainda pode levar algum tempo até que ele realmente cumpra suas promessas. No entanto, até agora parece bom, e parece cada vez melhor a cada novo lançamento: Gutenberg está constantemente trazendo novas possibilidades para o WordPress. Como tal, este é um ótimo momento para reconsiderar a tentativa de Gutenberg (isto é, se você ainda não o fez). Qualquer pessoa que lide de alguma forma com o WordPress (administradores de sites, desenvolvedores, gerenciadores de conteúdo, usuários de sites) pode se beneficiar desse novo normal. Eu diria que isso é algo para se animar, não é?