Ao fazer hacking no núcleo do Blockly ou desenvolver um plug-in, o playground é uma ferramenta extremamente útil. Ele tem uma instância pré-configurada do Blockly que pode ser usada para testes, depuração ou prototipagem. No Google, praticamente todo o desenvolvimento da Blockly ocorre usando o playground. Como prévia, este é o Playground simples no servidor de demonstração.
Há três tipos de playgrounds para o Blockly principal: simples, avançado e multi. No blockly-samples, normalmente, apenas o playground avançado é usado.
Pré-requisitos
O Blockly agora usa o sistema de módulos do Closure. Devido à forma como são carregados,
os módulos do Closure não compilados precisam ser buscados de um URL http:
ou https:
e
não podem ser buscados diretamente de URLs file:
. Consequentemente, para carregar o
playground no modo não compilado, é necessário fazer isso em um servidor da Web local.
Criamos um script que inicia um servidor local e carrega todo o código
necessário para carregar os módulos do Blockly. Você precisará ter o npm instalado na sua máquina e executar npm install
a partir da raiz do Blockly para instalar todas as dependências.
Usar o Internet Explorer
O Blockly agora usa recursos avançados na base de código que podem não ser compatíveis com o Internet Explorer. No código comprimido (compilado), esses recursos são transpilados para funcionar com o IE, mas o carregamento do código não comprimido pode não funcionar. Se você carregar o playground no IE, mesmo por um servidor HTTP local, ele vai carregar automaticamente o código comprimido do Blockly para garantir compatibilidade. Consulte a seção "Como acessar playgrounds diretamente" para mais detalhes sobre como testar mudanças no playground no modo compactado.
Playground simples
O playground simples é a base dos outros dois playgrounds. Ele exibe uma caixa de ferramentas e um espaço de trabalho e permite ajustar um número limitado de configurações.
Para abrir o playground, execute
npm run start
da raiz do Blockly. Verifique se não há mais nada detectando na porta 8080. Esse comando vai iniciar um servidor que hospeda os módulos do Blockly e abrir automaticamente a página de testes no navegador. Quando estiver tudo pronto para fechar o playground, encerre o processo (Ctrl-C em ambientes Mac e Linux).
O playground tem:
- Todo o código é descompactado para um desenvolvimento rápido.
- Todos os blocos padrão, exceto alguns descontinuados.
- Todos os geradores de linguagem (JavaScript, Python, PHP, Lua e Dart).
- Serializar e desserializar o estado do espaço de trabalho (JSON ou XML).
- Alterne entre o layout LTR e RTL.
- Alternar entre os layouts da caixa de ferramentas.
- Testes de estresse para o renderizador.
- Registre todos os eventos no console.
Playground avançado
O playground avançado contém recursos adicionais para facilitar ainda mais a depuração do Blockly. Esse também é o playground padrão usado no blockly-samples para todos os plug-ins.
Esse playground tem todos os recursos simples, além de:
- É possível definir outras configurações, como tamanho da grade, controles de zoom/movimento, renderizador, tema e muito mais.
- As configurações e os blocos usados são armazenados em cache e usados automaticamente na próxima vez que a área de recreação for carregada.
- Confira a saída de cada gerador na mesma janela.
Para iniciar o playground avançado para qualquer plug-in no blockly-samples, execute npm run
start
no diretório raiz do plug-in. No momento, apenas um plug-in pode ser executado por
vez e ele usa a porta 3000. Se você tiver problemas para iniciar o plug-in,
primeiro verifique se não há nada mais ouvindo nessa porta.
Para iniciar o playground avançado no núcleo, execute npm run start
na raiz
do Blockly e clique no link "Avançado" abaixo do título.
Você também pode criar sua própria página de teste que inclua o playground avançado usando o pacote dev-tools do Blockly.
Playground múltiplo
O playground múltiplo contém vários playgrounds em diferentes configurações
para o modo LTR e o local da caixa de ferramentas. Isso é usado principalmente para verificar
rapidamente se o Blockly não corrompeu nada relacionado à LTR antes do lançamento. Para abrir
este Playground, siga as etapas do playground simples e mude o
URL para /tests/multi_playground.html
.
Teste de alterações
Ao executar qualquer um dos playgrounds em um servidor local, tudo o que você precisa fazer para
ver as mudanças no Blockly na maioria dos casos é atualizar a página. Se você adicionou um
novo arquivo ou uma nova dependência a um arquivo, talvez seja necessário executar primeiro npm run
build
, que vai atualizar o arquivo test/deps.js
para garantir que as dependências sejam
carregadas corretamente e depois atualizar a página.
Se você estiver executando o playground avançado de um plug-in, não será necessário atualizar a página. As mudanças são carregadas automaticamente.
Como acessar playgrounds diretamente
Antes, o playground simples era acessado localmente navegando diretamente para
o arquivo test/playground.html
no navegador. Isso ainda é possível com os
playgrounds simples e múltiplos, mas não é mais recomendado. Se você fizer isso,
o playground vai detectar que você não está executando um servidor local e
usar automaticamente arquivos compactados do Blockly (consulte a
página Como criar o Blockly para mais
informações). Sempre que você mudar algo no núcleo do Blockly, será necessário
criar o núcleo novamente e preparar as mudanças. Você ainda pode acessar essas páginas se elas estiverem hospedadas
em um servidor remoto, como nosso exemplo hospedado no site de demonstração. O plano de fundo
ficará azul brilhante sempre que você estiver no modo compactado.
O playground avançado não está disponível pelo acesso file:
.