Este documento é destinado a desenvolvedores que já fizeram o fork do Blockly e querem atualizar para uma versão recente do Blockly, sem corrigir a biblioteca. Embora isso pareça uma tarefa assustadora, há algumas etapas que você pode seguir para tornar o processo mais gerenciável.
Entender o desforking
Usar o Blockly principal significa que você está usando uma versão lançada recentemente do Blockly, e todas as suas personalizações usam APIs públicas do Blockly sem monkeypatching. O unfork é o trabalho que você precisa fazer para implementar a funcionalidade personalizada do fork com APIs principais.
Casos simples de bifurcação
Confira abaixo dois motivos comuns para bifurcação e soluções para voltar à linha principal:
- Você criou seus próprios blocos e geradores sem mudar o código do Blockly: para desfazer a bifurcação nessa situação, basta mover os blocos e geradores personalizados do repositório do Blockly para o código do seu próprio aplicativo. Em seguida, você poderá atualizar a versão do Blockly.
- Você adicionou uma funcionalidade personalizada no namespace do Blockly sem mudar nenhum código do Blockly: por exemplo, você adicionou campos personalizados ou métodos auxiliares usados apenas pelo seu próprio aplicativo. Para desfazer a bifurcação nessa situação, mova esse código personalizado para seu próprio aplicativo fora do repositório do Blockly. Em seguida, você poderá atualizar a versão do Blockly.
Caso de bifurcação extensiva
Determinar a funcionalidade bifurcada
O motivo final pelo qual os usuários fazem o fork é corrigir o Blockly para criar uma funcionalidade personalizada que eles percebem que não está incluída na upstream no momento. Se a sua bifurcação estiver significativamente desatualizada, talvez já tenhamos adicionado a funcionalidade necessária, como plug-ins ou no núcleo. Saber quais recursos você adicionou no fork pode fornecer um planejamento para os recursos que você vai precisar atualizar.
Entender a arquitetura
Depois de entender os recursos que usam APIs específicas de bifurcação, considere o seguinte:
- Para cada recurso que usa a bifurcação, há uma maneira de replicar usando as APIs do Blockly?
- Se você não conseguir replicar o recurso usando as APIs do Blockly, entre em contato conosco pelo fórum ou registre um problema no GitHub. Nossa equipe vai investigar a adição de APIs para permitir a personalização.
Determinar seu caminho de desdobramento
A próxima etapa é iniciar o processo de implementação da nova arquitetura baseada no Blockly para recursos usando o fork. Há duas abordagens principais que você pode seguir:
- Atualizar o Blockly e conferir o que quebra: você vai conferir imediatamente as áreas do código que precisam ser atualizadas. Você pode usar isso combinado com o que você já sabe que é um comportamento personalizado para orientar seu desenvolvimento.
- Refatorar o código para separar os recursos do Blockly: isso exige que você entenda profundamente quais recursos são personalizados para sua bifurcação e quais vieram do Blockly. Depois que o código estiver totalmente separado, substitua a versão antiga do Blockly pela mais recente e corrija os problemas de integração restantes.
Seguindo em frente
Confira algumas regras que você precisa seguir como desenvolvedor do Blockly no futuro:
- Em geral, não adicione novas classes ao namespace do Blockly. É possível registrar campos personalizados ou outras classes registráveis sem declará-los dentro do repositório ou no namespace do Blockly.
- Não confie nas ferramentas de build do Blockly para compilar seu próprio aplicativo. Não consideramos nossas ferramentas de build como parte da API pública. Por isso, podemos fazer mudanças nelas que podem interromper seu aplicativo. Você é responsável por compilar seu aplicativo, se quiser.
Contato
A equipe do Blockly está disponível no fórum Blockly. Se você tiver algum problema durante o processo de desforcamento, poste aqui. Vamos ajudar.