Herramientas para desarrolladores de Blockly

Blockly Developer Tools es una herramienta para desarrolladores basada en la Web que puede ayudarte a compilar bloques personalizados y, luego, incluirlos en tu aplicación.

Captura de pantalla de Block Factory que muestra la caja de herramientas y varias áreas de salida

Define un bloque

El lugar de trabajo de Block Factory comenzará con un bloque de configuración vacío. Puedes agregar entradas y campos al bloque arrastrando bloques de las categorías correspondientes en la caja de herramientas. También puedes configurar el texto de la información sobre herramientas, la URL de ayuda, el color y las verificaciones de conexión del bloque modificando el bloque de configuración.

La fábrica de bloques solo puede crear un tipo de bloque a la vez. Si quieres diseñar varios bloques conectados entre sí, deberás diseñarlos por separado y conectarlos en la definición de la caja de herramientas. Además, los bloques pueden tener funciones avanzadas, como mutadores, pero estas funciones avanzadas no se pueden crear en Factory. Tendrás que modificar la definición del bloque según la documentación después de compilar la forma básica del bloque.

A medida que modifiques el bloque de configuración en el espacio de trabajo, la vista previa del bloque se actualizará automáticamente. El código que deberás agregar a tu aplicación también se actualizará automáticamente.

Configuración de salida

Blockly admite diferentes métodos para definir bloques y cargar Blockly, así como varios lenguajes de generador de código integrados. La forma en que defines tus bloques y generadores de código de bloques depende de estos factores, por lo que puedes configurarlos en Block Factory para cambiar el resultado del código.

Captura de pantalla del panel de configuración de salida, con selectores para el formato de importación de Blockly, el formato de definición de bloques y el lenguaje del generador de código

Formato de importación de Blockly

Puedes cargar Blockly a través de etiquetas <script> en HTML o con sentencias import si usas una herramienta de compilación con tu aplicación. Esta elección afecta la forma en que haces referencia a ciertas partes de la API de Blockly. Para obtener más información sobre cuál elegir, consulta la documentación sobre cómo cargar Blockly. Independientemente del método que uses, asegúrate de seleccionar la opción correspondiente en Block Factory para que el código que agregues a tu aplicación sea preciso para esta.

Formato de definición de bloque

Blockly admite la definición de bloques en JSON o JavaScript. Se prefiere el formato JSON, pero si agregarás funciones avanzadas, como mutadores, puedes usar el formato JavaScript.

Lenguaje del generador de código

Blockly se entrega con varios lenguajes de generador de código. Elige los idiomas que necesita tu aplicación para mostrar el stub correspondiente del generador de código de bloque. Si usas un generador de lenguaje personalizado, puedes modificar el nombre de tu clase CodeGenerator personalizada después de copiar el código en tu aplicación.

Resultado de código

En las siguientes secciones de Block Factory, se muestra el código que deberás copiar en tu aplicación para cargar el bloque que creaste. El lugar en el que copies el código dependerá de cómo hayas estructurado tu aplicación, pero, por lo general, deberás ejecutar los encabezados de código antes de la definición y el generador de código de bloque, las definiciones de bloque antes de intentar usarlas en una caja de herramientas y los generadores de código de bloque antes de intentar generar código para un espacio de trabajo. Para cada una de las secciones, puedes usar el botón de copia para copiar todo el bloque de código de esa sección.

Si aún no sabes cómo usar el resultado del código, te recomendamos la app de ejemplo, que tiene ejemplos de generadores de código de bloques y bloques personalizados.

Encabezados de código

En la sección encabezados de código, se muestra el código que necesitas para cargar la biblioteca principal de Blockly y el generador de lenguaje que elegiste. También puede haber otra configuración aquí. Por ejemplo, algunos campos que podrías incluir en un bloque provienen de los complementos de Blockly. Estos complementos tendrán sus propias instrucciones de importación y, posiblemente, otro código que deberás ejecutar para inicializar el campo. Este código se debe incluir antes de cualquiera de las siguientes secciones de código.

Definición de bloque

La definición del bloque es la forma en que le indicas a Blockly la forma de tu bloque, como qué campos y entradas tiene, el color y mucho más. Después de que ejecutes este código, Blockly sabrá cómo crear un bloque solo en función de su type.

Si usas la app de ejemplo, puedes incluir este código en un archivo del directorio blocks/. Si tienes tu propia estructura de aplicación, asegúrate de incluir este código antes de intentar hacer referencia a un bloque por nombre, como en una definición de toolbox. De cualquier manera, asegúrate de que los encabezados de código estén presentes en el archivo en el que incluyes este código.

Stub de generador

El generador de código de bloque es la forma en que describes el código que se debe generar para un bloque. El stub del generador que crea Block Factory te brinda el código básico para obtener los valores de las entradas y los campos que se encuentran en tu bloque. Depende de ti combinar estos valores en el código final que se generará.

Si usas la app de ejemplo, puedes incluir este código en un archivo del directorio generators/. Si tienes tu propia estructura de aplicación, asegúrate de incluir este código antes de intentar generar código para un espacio de trabajo que incluya tus bloques personalizados. De cualquier manera, asegúrate de que los encabezados de código estén presentes en el archivo en el que lo incluyas.

Video explicativo

En este video, se explican en detalle los pasos para definir un bloque. La IU está desactualizada, pero las características de los bloques que destaca siguen siendo más o menos precisas.

Biblioteca de bloques

Los bloqueos se guardan automáticamente en el almacenamiento local del navegador cada vez que realizas un cambio en ellos. Puedes crear un bloque nuevo o cargar uno existente desde tu almacenamiento local haciendo clic en los botones correspondientes de la barra de herramientas superior.

Cómo importar desde Block Factory heredado

Si usaste la Block Factory heredada y quieres migrar tus definiciones de bloques existentes a la nueva herramienta, puedes seguir estos pasos:

  1. En la fábrica de bloques heredada, haz clic en el botón Export Block Library de la barra de herramientas. Se descargará un archivo con todas tus definiciones de bloques.

    Captura de pantalla de la fábrica de bloques heredada con el botón &quot;Export Block Library&quot; destacado

  2. En la nueva Block Factory, haz clic en el botón Load block de la barra de herramientas.

  3. Selecciona la opción "Importar desde Block Factory" en el menú.

    Captura de pantalla de Block Factory en la que se muestran destacados los botones “Load block” y “Import”

  4. Sube el archivo que descargaste en el paso 1.

  5. Tus definiciones de bloques deberían convertirse automáticamente al nuevo formato y ahora estarán disponibles en el menú Load block. Es posible que se haya cambiado el nombre de los bloques si hubo conflictos con bloques existentes.

  6. Si hubo errores al analizar alguno de tus bloques, no podremos cargarlos. Para ayudarnos, puedes informar un error en blockly-samples y, luego, incluir el archivo que no se pudo analizar.