WordPress Playground: WordPress executado inteiramente no navegador
(developer.wordpress.org)- WordPress Playground é uma ferramenta online para experimentar e aprender WordPress sem instalação, e esta página funciona como um hub oficial de documentação, não como um site de produto
- A documentação é dividida em Documentation, Blueprints, Developers e API Reference, orientando respectivamente sobre primeiros passos, configuração baseada em JSON, integração com código e referência de API
- Usuários podem colocar um novo site WordPress no ar em menos de 5 minutos e testar blocos, temas e plugins, ou testar uma versão específica do WordPress/PHP
- Desenvolvedores podem escolher entre Query API, Blueprints API e JavaScript API conforme o objetivo, e usar o Playground como um ambiente de desenvolvimento local sem configuração
- Por rodar dentro de uma sandbox no navegador e ter pouca dependência de backend e autenticação, é adequado para demos rápidas, protótipos e ambientes de experimentação gerados por IA
Hub de documentação do WordPress Playground
- O site oficial do Playground foi movido para wordpress.org/playground/, e esta página é usada como ponto de entrada da documentação
- WordPress Playground é uma ferramenta online para experimentar e aprender WordPress
- A documentação é composta por quatro hubs
- Documentation: introdução ao WordPress Playground, guia de primeiros passos e ponto de entrada da documentação
- Blueprints: documentação de arquivos JSON para configurar instâncias do Playground
- Developers: como usar o Playground a partir de código
- API Reference: referência completa das APIs expostas pelo WordPress Playground
Primeiros passos e fluxo de desenvolvimento
- Quem está usando pela primeira vez pode começar rapidamente pelo Quick Start Guide, criando um novo site WordPress, testando blocos, temas e plugins, e testando versões específicas do WordPress/PHP
- Playground web instance trata da instância do Playground fornecida em https://playground.wordpress.net/
- Em About Playground, é possível conferir a segurança do Playground, formas de uso e limitações atuais
- Pela documentação Build, Test, Launch, é possível ver o fluxo de uso do Playground para desenvolver, validar e lançar produtos
- Guides reúne documentação com instruções passo a passo e formas de uso, enquanto Links and resources reúne materiais relacionados
Primeiro passo e escolha da API
- Como primeiro passo, use Start using WordPress Playground para começar em menos de 5 minutos e conferir o demo site
- Desenvolvedores podem começar a desenvolver o primeiro app em Get started for developing
- O Playground também pode ser usado como um local development environment sem configuração
- As limitations atuais podem ser conferidas em uma documentação separada
- Para se aprofundar, o fluxo recomendado é ver primeiro Playground APIs e os conceitos básicos
- Query API: executa tarefas básicas apenas com parâmetros de consulta
- Blueprints API: oferece controle de alto nível por meio de um arquivo JSON simples
- JavaScript API: oferece controle completo por meio de um cliente JavaScript em um pacote npm
- A documentação de architecture permite ver com mais profundidade como funciona
Contribuição e uso com IA
- WordPress Playground é um projeto open source e aceita contribuições em código, design, documentação e triagem
- Contribuidores podem consultar o Contributors Handbook
- É possível participar do canal
#playgroundno Slack, e as informações de cadastro estão na WordPress Slack page - Todos os contribuidores devem seguir o Code of Conduct
- O Playground foi projetado para ser usado com agentes de codificação de IA e ferramentas baseadas em IA
- Ele roda totalmente no lado do cliente em WebAssembly, não precisa de autenticação nem backend e não deixa efeitos colaterais persistentes fora da sandbox do navegador
- Using Playground with AI agents: em Claude Code, Cursor, Gemini CLI, GitHub Copilot e outros, é possível instalar a skill
wp-playgroundpara delegar a execução de comandos - AI-readable site index: resumo
llms.txt, legível por máquina, dos recursos, APIs e documentação do Playground - AGENTS.md: instruções para agentes de codificação de IA que contribuem para esta base de código
- WordPress Playground é software livre sob os termos da GNU General Public License version 2 ou posterior, e a licença completa está em LICENSE.md
1 comentários
Opiniões no Hacker News
Testei no Firefox em um tablet Android barato e, embora a resposta não seja instantânea, não é muito diferente de rodar uma stack LAMP completa em uma instância de nuvem ou VPS razoável, o que me surpreendeu bastante
Há um interpretador PHP inteiro, milhares de linhas da codebase do WordPress e até SQLite por cima disso. Mesmo assim, é impressionante que seja usável o suficiente
A forma como fizeram isso funcionar é muito moderna: o PHP roda como um binário WebAssembly, o MySQL é substituído por SQLite via plugin do WordPress, e o servidor web é implementado como um Service Worker em JavaScript
WebAssembly PHP: https://wordpress.github.io/wordpress-playground/architectur...
Service Workers: https://wordpress.github.io/wordpress-playground/architectur...
Na frase “o Playground dá suporte a apps de notas para dispositivos móveis, ambientes de testes automatizados e até demos do WooCommerce rodando em sites”, os dois últimos fazem total sentido, mas a ideia de criar um app móvel baseado em WordPress que roda PHP em WebAssembly dentro do navegador dá um nó na cabeça
O WordPress divide bastante as inclinações do HN. Um lado vê o WordPress como uma ferramenta de amplificação de valor que permite a não desenvolvedores se concentrarem no trabalho principal sem se preocupar com programação; o outro lado o odeia por causa da codebase bagunçada, enquanto na prática se agarra a código perfeitamente formatado e hiperextensível que quase ninguém vai usar
O WordPress move mais da metade da web. Pode não ser a melhor tecnologia, ou pode até ser a pior, mas a lição que muitos programadores continuam deixando passar é que ninguém se importa com como a salsicha é feita
Mas, como estou adiando a tarefa de migrar o SSO de terceiros de um site WordPress antigo e bagunçado para um site WordPress novo e bagunçado, vou desabafar um pouco: existe de fato um terceiro grupo que faz a manutenção para que o primeiro grupo não precise se importar com como a salsicha é feita.
Faço esse tipo de trabalho há uns 14 anos, hospedei cerca de 300 sites WordPress de uma universidade de médio porte, também criei e mantive sites .gov, e, por causa da direção tomada pela equipe do Gutenberg, desenvolvi vários blocos baseados em React seguindo três padrões bem diferentes. Já fiz de tudo: deploy de servidores, ajustes de CSS para IE6, raspagem de um CMS inexistente para migrar milhares de páginas e dezenas de milhares de imagens para o WordPress, criação de comandos WP-CLI, código para forçar a propagação de eventos de calendário em multisite.
Alguém precisa saber como a salsicha é feita, e eu sei. Por isso também sei o quanto o WordPress é uma pilha de lixo instável. Já trabalhei com codebases realmente úteis, com ferramentas melhores e bancos de dados compreensíveis, e sei que outras plataformas também têm problemas, mas o WordPress é realmente ruim.
Então não tenho problema em criticá-lo. Estou completamente em burnout, a ponto de pensar em simplesmente largar tudo, morar em um caminhão e tocar música. É uma plataforma horrível, e as pessoas nem pagam bem pelo trabalho de mantê-la funcionando. No fim, há pessoas que, por força das circunstâncias, continuam voltando para esse prédio em chamas que é o WordPress, e o ódio coletivo por essa plataforma é bem fundamentado
Naturalmente, essas ferramentas têm limitações e problemas de qualidade, e alguns usuários acabam esbarrando neles. Isso, por si só, não é problema. O problema surge quando se espera que profissionais integrem ou construam em cima delas. Quem procura desenvolvedores web chega com expectativas de qualidade, problemas específicos e requisitos; o legado do WordPress coloca tantas armadilhas e obstáculos diante desses objetivos que muitas vezes vira uma tentativa de encaixar um pino quadrado em um buraco redondo. Dá para dizer algo parecido sobre CRMs comuns ou plataformas de e-commerce
Em dezembro de 2022, no keynote State of the Word, havia a intenção de dar bastante destaque a isso: https://wordpress.tv/2023/01/04/matt-mullenweg-state-of-the-...
Como engenheiro, foi bem impactante ver aquilo funcionando de verdade e pensar em todas as camadas que precisam interagir para isso acontecer. É engraçado ver isso virar assunto no HN seis meses depois
Dando uma olhada no código, também percebi que hoje quase não sei PHP, e não parece que isso use a abordagem “tradicional” de SQLite sobre OPFS para persistência. Lendo mais, nem ficou claro se armazenamento persistente via Emscripten ainda é possível. No fim encontrei https://github.com/WordPress/wordpress-playground/issues/19, o que parece significar que ainda não há persistência no WordPress dentro do navegador, o que é uma pena
Pergunta sincera: deixando o banco de dados de lado por enquanto, isso quer dizer que seria possível rodar WordPress em um Cloudflare Worker? https://developers.cloudflare.com/workers/runtime-apis/webas...
Ainda assim, parece haver margem para tornar isso possível, e a Cloudflare também pode aumentar o limite
Então acho que dá para fazer funcionar
Uso WordPress com frequência para vários sites quase estáticos. É bom para permitir que pessoas não técnicas continuem adicionando conteúdo, e para esse objetivo não há alternativa muito próxima do WordPress
Mas é preciso escolher com cuidado os plugins usados, configurar um front-end adequado na Cloudflare e impedir que usuários façam coisas que, por fora, parecem simples, mas são perigosas. Tenho a impressão de que boa parte do ódio ao WordPress vem de gente que usou há muito tempo, ou tinha requisitos que o WordPress não atendia, ou herdou um legado
Na verdade não é culpa do WordPress, mas isso não muda o fato de que só ouvir o nome já me faz encolher um pouco de medo
Esse Playground que roda PHP em WASM é muito mais responsivo do que 95% dos sites comuns
WordPress provavelmente é a solução de aplicação multipágina mais usada, e isto basicamente a transforma em uma aplicação de página única. Além disso, como não precisa continuar enviando requisições de API ao servidor, ele também tem desempenho melhor do que a maioria das aplicações de página única.
As partes de aplicação de página única, como o editor de posts/páginas e o editor do site, são apps React complexos, mas nesta demo parecem mais ágeis do que no ambiente de desenvolvimento local. Isso mostra bem o quanto uma aplicação de página única pode melhorar quando se eliminam as idas e voltas ao servidor. Para constar, trabalho na Automattic, e foi realmente muito legal acompanhar esse experimento
Não é preciso desmerecer o WordPress, mas ele tem uma longa história e muitos problemas. Seria bom ter uma alternativa moderna de hospedagem própria que pudesse ser usada sem geração de sites estáticos ou hospedagem complexa
A base de código não é boa, desenvolver em cima dela é penoso, e a forma como foi projetada e a gestão da loja oficial também não impedem a confusão e os riscos do lado do banco de dados. Mesmo assim, uma proposta de configurar tudo em dois dias e gastar US$ 80 por mês em plugins/temas é muito mais fácil de vender do que “ótimo, primeiro vamos precisar de pelo menos dois meses de desenvolvimento”.
Mesmo quando é necessário trabalho de desenvolvimento, é fácil encontrar gente com experiência em WordPress; e, se você não quiser contratar diretamente, há muitas agências especializadas em WordPress. Concorrentes emergentes não têm essa vantagem de escala. Projetar um sistema extensível, com estrutura de plugins e temas, muito melhor que o WordPress não é uma tarefa pequena, mas também não é impossível nem exige uma equipe de gênios. Só que, no caminho para desbancar o WordPress no mercado real, essa é a etapa mais fácil
Todo mundo provavelmente já encontrou clientes que só querem WordPress e não aceitam outra coisa. Muitas vezes, mesmo quando se entrega uma solução nova e mais limpa, o cliente acaba voltando para o WordPress. Vi valor em uma abordagem híbrida em que requisitos complexos são tratados por um app customizado feito com outro framework, enquanto o conteúdo é gerenciado por uma instância do WordPress e conectores
Além disso, a API PHP do WordPress quase não usa orientação a objetos e é composta principalmente de funções e arrays, então até pessoas com conhecimentos bem básicos de programação conseguiam criar seus próprios plugins ou temas
Empresas gostam de coisas que sobreviveram por muito tempo, e essas coisas, por definição, muitas vezes são antiquadas
A tecnologia por trás desta demonstração é realmente muito legal. Seria bom poder ver logs em tempo real de erros/avisos do PHP, especialmente para conferir o quão completo é este simulador, incluindo até a reescrita do banco de dados SQLite.
Testar plugins ou temas também é muito fácil. Basta adicionar
&plugin=plugin-slug-from-dir; se o slug corresponder ao slug do plugin na URL do WordPress.org, ele é baixado automaticamente e adicionado à sandbox. A documentação completa da API de consultas que configura a sandbox está aqui: https://wordpress.github.io/wordpress-playground/query-api/Tenho certeza de que deve haver alguma forma de abrir ou exibir o log de depuração. Se não houvesse, eles não teriam conseguido desenvolver isso