Desvincula Blockly

Este documento está dirigido a los desarrolladores que ya crearon una bifurcación de Blockly y desean actualizar a una versión reciente de Blockly sin aplicar parches a la biblioteca. Aunque esto parezca una tarea abrumadora, hay algunos pasos que puedes seguir para que el proceso sea más fácil de manejar.

Comprende el desforking

Usar Blockly principal significa que usas una versión de Blockly lanzada recientemente y que todas tus personalizaciones usan APIs públicas de Blockly sin parches de mono. La anulación de la bifurcación es el trabajo que debes realizar para implementar la funcionalidad personalizada de tu bifurcación con las APIs principales.

Casos simples de bifurcación

A continuación, se incluyen dos motivos comunes por los que podrías haber creado una bifurcación y las 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 puedes mover tus bloques y generadores personalizados del repositorio de Blockly al código de tu propia aplicación. Luego, deberías poder actualizar tu versión de Blockly.
  • Agregaste funciones personalizadas en el espacio de nombres de Blockly sin cambiar ningún código de Blockly: Por ejemplo, agregaste campos personalizados o métodos de ayuda que solo usa tu propia aplicación. Para deshacer 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.

Caso de bifurcación extensa

Cómo determinar la funcionalidad bifurcada

El último motivo por el que vemos que los usuarios crean bifurcaciones es para aplicar parches a Blockly y crear funciones personalizadas que consideran que no se incluyen en la fuente en ese momento. Si tu 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é funciones agregaste en tu bifurcación puede proporcionarte un plan para las funciones que deberás actualizar.

Comprende la arquitectura

Una vez que comprendas las funciones que usan APIs específicas de bifurcación, ten en cuenta lo siguiente:

  • Para cada función que usa la bifurcación, ¿hay alguna manera 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 el problema en GitHub. Luego, nuestro equipo investigará la adición de APIs para habilitar tu personalización.

Determina tu ruta sin bifurcación

El siguiente paso es comenzar el proceso de implementación de la nueva arquitectura basada en Blockly para las funciones con la bifurcación. Existen dos enfoques principales que puedes seguir:

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

Adelante

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 o cualquier otra clase registrable sin declararlos dentro del repositorio de Blockly o en el espacio de nombres de Blockly.
  • No debes depender de las herramientas de compilación de Blockly para compilar tu propia aplicación. No consideramos que nuestras herramientas de compilación formen parte de la API pública, por lo que es posible que realicemos cambios en ellas que generen fallas en tu aplicación. Eres responsable de compilar tu aplicación si así lo deseas.

Comunícate con nosotros

El equipo de Blockly está disponible en el Foro de Blockly. Si tienes algún problema durante el proceso de anulación de la bifurcación, no dudes en publicarlo allí para que podamos ayudarte.