O principal colaborador patrocinado pela Automattic, Adam Zielinski, publicou hoje uma demonstração do WordPress rodando no navegador sem servidor PHP. Isso é feito usando WebAssembly (WASM), um formato para uma máquina virtual baseada em pilha que permite a implantação na Web para aplicativos cliente e servidor, e Emscripten, uma cadeia de ferramentas de compilador de código aberto para WebAssembly. Ainda não é estável, mas o conceito é intrigante, pois abre um mundo de casos de uso em potencial.
O projeto está disponível no GitHub e Zielinski explicou brevemente como funciona:
- PHP é compilado para WASM com Emscripten
- WordPress é empacotado em um pacote de dados
- Um service worker intercepta solicitações HTTP e as redireciona para o WordPress
O projeto usa o plugin wp-db-sqlite para executar o WordPress com SQLite, pois o WASM não suporta MySQL.
Zielinski detalhou alguns aplicativos possíveis para executar o WordPress no navegador, que ele disse que poderia “transformar o aprendizado, a contribuição e o uso do WordPress:”
- tornando as amostras de código do manual do WordPress runeditable (pré-visualização antecipada)
- fornecendo um IDE no navegador para auxiliar novos contribuidores sem precisar configurar um ambiente de desenvolvimento local (pré-visualização antecipada)
- criando um IDE no navegador para testar código em diferentes versões do WordPress, PHP e Gutenberg
- escalando o WordPress girando muitas pequenas instâncias WASM independentes diretamente nos servidores de borda.
- incorporação de demos de um plugin, padrão ou tema (exemplo: wpreadme.com)
- importando um site WordPress existente para o tempo de execução do WASM para criar um site de teste
Os protótipos estão em seus estágios iniciais e têm algumas limitações no momento. O editor de blocos funciona, mas não o editor de sites, e os sites no navegador não podem se comunicar com o WordPress.org para buscar plugins e temas.
Zielinski está ansioso para recrutar colaboradores para ajudar a construir essa visão e torná-la realidade. É um grande empreendimento, mas os benefícios que os contribuidores e desenvolvedores podem ganhar com a capacidade de ativar instantaneamente um IDE no navegador para WordPress são enormes.
“Aprender WordPress e escrever código costumavam ser separados”, disse Zielinski sobre o uso do Stackblitz para criar documentos mais interativos. “Agora eles podem ser um e o mesmo. De trechos de código executáveis a novos formatos de documentos do tipo esbelto, o WebContainers + WebAssembly WordPress é um divisor de águas educacional.”
Para mais detalhes técnicos sobre como isso funciona, confira o post de Zielinski e clique nas várias demos. O repositório do projeto inclui uma demonstração pré-construída que qualquer pessoa pode executar com mais instruções para construir o assembly você mesmo.