Why Blockly?

  • Blockly simplifies block-based programming by handling rendering, dragging, and connecting, allowing users to focus on applying blocks to their domain.

  • Blockly is suitable for both educational purposes, such as teaching programming and computational thinking, and industry uses like data analysis and automation.

  • Key strengths of Blockly include its availability on NPM, full feature set with multi-language code generation and a plugin ecosystem, high customizability, internationalization support for over 90 languages, and its open-source nature.

  • While Blockly is popular, alternatives like PXT, Droplet, and Node-red exist for specific use cases, offering different features such as code-to-block conversion or node-based programming.

Blockly lets you focus on applying blocks to your domain without worrying about the complexities of how those blocks should be rendered, dragged, or connected.

It is applicable to a wide range of educational use-cases, such as:

  • Working students toward text-based programming.
  • Encouraging computational thinking.
  • Exploring other concepts (e.g. physics) computationally.

As well as many many industry use-cases, such as:

  • Data analysis and cleaning.
  • Automation (e.g. in robotics, process workflows, etc).
  • Configuration (e.g. in online shops, IoT, etc).

Strengths

Blockly has a number of strengths that make it the most popular option for building a block-based programming environment.

  • Availability. Blockly is published on NPM, so you can require it in the same way you require any other web dependency.
  • Fully featured. Blockly comes bundled with common blocks that generate code in 5 popular programming languages (JavaScript, Python, Lua, Dart, and PHP). Plus it has a thriving plugin ecosystem that gives you even more capabilities.
  • Customizability. Blockly lets you easily define your own blocks, fields, and inputs. Plus many of its core functionalities can be swapped out for your own custom ones.
  • Internationalization. Blockly's core library of blocks comes with translations in 90+ languages, including right-to-left versions for Arabic and Hebrew.
  • Open Source. Google shares Blockly's technology with everyone so, together, we can educate the next generation of developers.

Alternatives

There are some use cases where it makes sense to use a library other than Blockly. Here are some other options:

  • PXT: This is an editor built on Blockly that powers MakeCode. It outputs JavaScript exclusively, which enables it to convert from code to blocks. It also comes bundled with a compiler and a simulator.
  • Droplet: This is the editor that powers Pencil Code. It lets you type to create blocks without dragging, and also supports going from code to blocks.
  • Node-red: This is a node-based rather than block-based programming editor, but it fulfills a similar function. It is popular for wiring together hardware devices, often in industry contexts.