Ao invadir o 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. Esta é uma prévia do Playground simples no servidor de demonstração.
Há três tipos de playgrounds para o Core Blockly: simples, avançado e multi. Em amostras em blocos, geralmente apenas o playground avançado é usado.
Pré-requisitos
O Blockly agora usa o sistema de módulo closure. Devido à maneira como são carregados, os módulos closure descompilados precisam ser buscados em um URL http:
ou https:
e não podem ser buscados diretamente em URLs file:
. Consequentemente, para carregar o playground no modo descompilado, você precisa carregá-lo de 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
na raiz do Blockly para instalar todas as
dependências.
Como usar o Internet Explorer
Agora, o Blockly usa recursos avançados na base de código que podem não ser compatíveis com o Internet Explorer. No código compactado (compilado), esses recursos são transcompilados para funcionar com o IE, mas o carregamento do código descompactado pode não funcionar. Portanto, se você carregar o Playground no IE, mesmo por um servidor HTTP local, o Playground carregará automaticamente o código compactado do Blockly para garantir a compatibilidade. Consulte a seção "Como acessar playgrounds diretamente" para ver mais detalhes sobre como testar mudanças no Playground no modo compactado.
Playground simples
O playground simples é a base dos outros dois. Ela exibe uma caixa de ferramentas e um espaço de trabalho, além de permitir 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 iniciará um servidor que hospeda os módulos do Blockly e abrirá automaticamente o navegador na página do Playground. Quando estiver tudo pronto para encerrar o Playground, encerre o processo (ctrl-c em ambientes Mac e Linux).
O playground oferece:
- Todo o código é descompactado para um desenvolvimento rápido.
- Todos os blocos padrão, exceto alguns obsoletos.
- Todos os geradores de linguagens (JavaScript, Python, PHP, Lua e Dart).
- Serializa e desserializa o estado do espaço de trabalho (JSON ou XML).
- Alterne entre os layouts LTR e RTL.
- Alterne entre layouts de caixa de ferramentas.
- Testes de estresse para o renderizador.
- Registre todos os eventos no console.
Playground avançado
O Playground avançado contém outros recursos para facilitar ainda mais a depuração do Blockly. Esse também é o playground padrão usado em amostras blockly para todos os plug-ins.
Este playground tem todos os recursos simples, além de:
- Outras configurações podem ser definidas, 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 o playground for carregado.
- Confira a saída de cada gerador na mesma janela.
Para iniciar o playground avançado para qualquer plug-in em blockly-samples, execute npm run
start
no diretório raiz do plug-in. Atualmente, apenas um plug-in pode ser executado por
vez e usa a porta 3000. Se você tiver problemas para iniciar o plug-in,
primeiro verifique se nada mais está 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 da Blockly.
Multi playground
O playground tem 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 de um 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 a partir de um servidor local, basta atualizar a página para
ver as alterações no Blockly. Se você adicionou um
novo arquivo ou adicionou uma nova dependência a um arquivo, talvez seja necessário primeiro executar npm run
build
, que atualizará o arquivo test/deps.js
para garantir que as dependências sejam
carregadas corretamente e, em seguida, atualize a página.
Se você está executando o playground avançado de um plug-in, nem é necessário atualizar a página. As alterações são carregadas automaticamente.
Acesso direto a playgrounds
Anteriormente, o playground simples era acessado localmente navegando diretamente para o arquivo test/playground.html
no seu navegador. Isso ainda é possível com os playgrounds simples e com vários playgrounds, mas não é mais recomendado. Se você fizer isso,
o Playground 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) e sempre que você alterar algo no núcleo do Blockly, será necessário
recriar o núcleo e preparar as alterações. Ainda será possível acessar essas páginas se estiverem hospedadas em um servidor remoto, como no exemplo hospedado no nosso site de demonstração. O plano de fundo
será azul brilhante sempre que você estiver no modo compactado.
O Playground avançado não está disponível pelo acesso file:
.