Em termos de ciência da computação, um procedimento é um trecho de código reutilizável que executa uma tarefa específica.
O Blockly implementa procedimentos como um conjunto de blocos que geram código para definir e chamar um procedimento.
→ Mais informações sobre como usar os blocos.
→ Mais informações sobre como criar blocos de procedimento personalizado.
→ Mais informações sobre como criar modelos de procedimento personalizado, que permitem adicionar novas funcionalidades, como parâmetros digitados.
Integrado x plug-in
O Blockly fornece duas implementações de blocos de procedimento.
Há outro no plug-in @blockly/block-shareable-procedures, que implementa blocos de procedimento que dependem de um modelo de dados de apoio. Isso permite realizar ações com os blocos de procedimento, como manter o bloco de definição em um espaço de trabalho e o bloco de chamadas em outro. O plug-in é a implementação recomendada de blocos de procedimento.
A outra é a implementação legada, fornecida no Blockly Core. Esses blocos não têm um modelo de dados de apoio, e todas as informações sobre os procedimentos são provenientes deles. A única maneira de um espaço de trabalho saber quais procedimentos estão disponíveis é inspecionando os blocos de definição de procedimento contidos nele. Esses blocos continuam compatíveis com versões anteriores, mas a maioria dos desenvolvedores pode usar os novos blocos fornecidos pelo plug-in.
Se você estiver usando a serialização XML, poderá usar os novos blocos, mas eles não serão compartilháveis entre espaços de trabalho. Esse recurso requer serialização extra que é fornecida apenas pelo serializador JSON. Ao usar XML, os novos blocos se comportarão de forma idêntica aos blocos legados. Saiba mais sobre como fazer upgrade para o JSON.
Se você tiver definido blocos de procedimentos personalizados, eles precisarão ser atualizados para funcionarem com os novos modelos de dados.
Se você tiver definido blocos de definição de procedimento personalizado, mas estiver usando o bloco de chamada de procedimento integrado, vai precisar continuar usando o bloco de chamadas legadas até atualizar o bloco de definição.