Deshaciendo a Blockly

Este documento está dirigido a desarrolladores que ya bifurcaron Blockly y que buscan actualizar a una versión reciente de Blockly, sin aplicar parches a la biblioteca. Aunque esta tarea parece abrumadora, hay algunos pasos que puedes seguir para que el proceso sea más fácil de administrar.

Comprende el desenfreno

El uso de la línea principal de Blockly implica que estás usando una versión reciente de Blockly, y todas tus personalizaciones usan las APIs públicas de Blockly sin usar monkeypatching. Unfork es el trabajo que debes realizar para implementar la funcionalidad personalizada de la bifurcación con las APIs de línea principal.

Fundas simples para desforzar

A continuación, se muestran dos motivos comunes por los que podrías haber bifurcado y soluciones para volver a la línea principal:

  • Creaste tus propios bloques y generadores sin cambiar ningún código de Blockly: Para deshacer la bifurcación en esta situación, simplemente mueve tus bloques y generadores personalizados fuera del repositorio de Blockly y hacia el código de tu propia aplicación. Luego, deberías poder actualizar tu versión de Blockly.
  • Agregaste una funcionalidad personalizada al espacio de nombres de Blockly sin cambiar ningún código de Blockly: Por ejemplo, agregaste campos personalizados o métodos auxiliares que solo usa tu aplicación. Para quitar la bifurcación en esta situación, mueve este código personalizado a tu propia aplicación fuera del repositorio de Blockly. Luego, deberías poder actualizar tu versión de Blockly.

Funda amplia sin bifurcación

Cómo determinar la funcionalidad bifurcada

El último motivo por el que los usuarios se bifurcan es aplicar parches a Blockly para crear una funcionalidad personalizada que perciben que no se incluye en sentido ascendente en ese momento. Si la bifurcación está muy desactualizada, es posible que ya hayamos agregado la funcionalidad que necesitas, ya sea como complementos o en el núcleo. Saber qué características agregaste a la bifurcación puede proporcionar una hoja de ruta para qué funciones deberás actualizar.

Comprende la arquitectura

Una vez que comprendas las funciones que usan APIs específicas de la bifurcación, considera lo siguiente:

  • Para cada función que usa la bifurcación, ¿hay una forma de replicarla con las APIs de Blockly?
  • Si parece que no puedes replicar la función con las APIs de Blockly, comunícate con nosotros a través del foro o informa un problema en GitHub. Luego, nuestro equipo investigará cómo agregar APIs para habilitar tu personalización.

Determina el camino a seguir

El siguiente paso es comenzar el proceso de implementación de la nueva arquitectura basada en Blockly para las funciones que usan la bifurcación. Puedes adoptar dos enfoques principales:

  • Actualiza Blockly y observa qué se interrumpe: Verás inmediatamente las áreas de tu código que deben actualizarse. Puedes usar esto junto con lo que ya sabes es un comportamiento personalizado para guiar tu desarrollo.
  • Refactoriza tu código para separar tus atributos de Blockly: Para ello, debes comprender mejor qué funciones son personalizadas de la bifurcación y cuáles provienen de Blockly. Una vez que tu código esté separado por completo, reemplaza tu versión anterior de Blockly por la más reciente y corrige los problemas de integración restantes.

Cómo avanzar

Estas son algunas reglas que debes seguir como desarrollador de Blockly en el futuro:

  • En general, no debes agregar clases nuevas al espacio de nombres de Blockly. Puedes registrar campos personalizados y otras clases registrables sin declararlos dentro del repositorio de Blockly ni en el espacio de nombres de Blockly.
  • No debes confiar en las herramientas de compilación de Blockly para compilar tu propia aplicación. No consideramos que nuestras herramientas de compilación sean parte de la API pública, por lo que es posible que realicemos cambios en ellas que dañen tu aplicación. Si lo deseas, eres responsable de compilar la aplicación.

Comunícate con nosotros

Blockly siempre está disponible a través del Foro de Blockly. Si tienes algún problema durante el proceso de desvinculación, publícalo allí y te ayudaremos.