awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
RaspberryPiFoundation avatar

RaspberryPiFoundation/blockly

0
View on GitHub↗
13,437 stars·3,849 forks·JavaScript·Apache-2.0·20 viewsblockly.com↗

Blockly

Blockly is a web-based visual programming editor and block-based code generator. It allows users to create programs by interlocking graphical blocks that translate into executable source code for various programming languages, removing the need for manual syntax entry.

The project serves as a customizable framework for building specialized visual languages through a customizable block library. It includes a visual block designer for defining custom shapes, behaviors, and specialized input fields, as well as a plugin system to extend the editor's environment.

The system manages programming logic through variable scoping and provides a workspace with navigation tools, contextual block suggestions, and bulk manipulation capabilities. Accessibility is integrated into the interface to support keyboard-only navigation and screen reader compatibility.

Features

  • Block-Based Code Generators - Provides a system that converts visual block arrangements into executable code for various programming languages.
  • Visual Programming Representations - Represents programming concepts using interlocking graphical blocks to generate source code without manual syntax entry.
  • Block Shape Definitions - Defines block shapes and behaviors using a schema that allows for dynamic instantiation and custom extensions.
  • Low-Code Development Platforms - Enables the creation of specialized internal tools where non-programmers generate code via visual blocks.
  • Workflow-to-Code Generators - Transforms visual node-based block arrangements into executable source code for various programming languages.
  • Visual Language Frameworks - Provides a framework for defining custom block shapes, input fields, and behaviors to build specialized visual languages.
  • Visual Programming Environments - Provides a web-based editor where users construct programs by snapping together graphical blocks.
  • Educational Programming Environments - Provides an integrated platform with a visual editor to teach software development and logic concepts to students.
  • SVG-Based Vector Rendering - Renders the workspace and interlocking blocks using scalable vector graphics for precise positioning and scaling.
  • Source Code Generators - Translates a graphical arrangement of interlocking blocks into executable source code for various languages.
  • Workspace Coordinate Management - Tracks block positions using a 2D coordinate system to enable seamless zooming, panning, and collision detection.
  • Text and Block Manipulation Tools - Allows users to select and move multiple block stacks simultaneously within the workspace to improve efficiency.
  • Toolbox Discovery - Offers search filters and scrollable lists within the block toolbox to help users quickly find the required components.
  • Visual Block Designers - Includes a visual builder interface for defining custom block shapes and generating starter code.
  • Dynamic Block Mutations - Modifies the internal structure of a block at runtime to add or remove inputs based on user interaction.
  • Hook-Based Plugin Systems - Exposes internal hooks that allow developers to inject custom input fields and renderers into the editor.
  • Accessible Graphics - Provides a keyboard-navigable and screen-reader-friendly interface for the graphical programming environment.
  • Accessible UI Frameworks - Provides a set of interface components designed to ensure visual programming is usable via keyboard and screen readers.
  • Contextual Component Suggestions - Blockly recommends relevant blocks to the user based on the patterns and types of blocks already present in the workspace.
  • Dynamic Block Input Connections - Supports blocks that automatically add or remove input connections based on user interaction or control settings.
  • Editor Accessibility Optimizations - Implements ARIA labels and keyboard navigation to make the programming experience inclusive for all users.
  • Editor Plugins - Provides a plugin architecture to extend the editor with new input fields, visual themes, and code renderers.
  • Accessibility Input Patterns - Implements keyboard and spatial navigation patterns to ensure assistive technology compliance within the visual editor.
  • Session-Based Component Storage - Includes a temporary storage area where users can save block stacks for retrieval and reuse throughout the session.
  • Minimap Navigation - Provides workspace management features including a minimap, zoom-to-fit controls, and automatic scrolling.

Star history

Star history chart for raspberrypifoundation/blocklyStar history chart for raspberrypifoundation/blockly

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Blockly

These projects share indexed features with Blockly. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • google/blocklygoogle avatar

    google/blockly

    13,436View on GitHub↗

    Blockly is a block-based coding library and visual programming editor that allows users to build programs by interlocking graphical blocks. It functions as a visual code generator, translating these arrangements of logic blocks and variables into executable source code for various programming languages. The library provides a framework for creating custom visual programming languages and low-code logic designers. It utilizes an SVG-based UI library to render interactive, draggable elements on a web canvas. The system is designed as an accessible web UI framework with integrated keyboard navi

    JavaScript
    View on GitHub↗13,436
  • scratchfoundation/scratch-blocksscratchfoundation avatar

    scratchfoundation/scratch-blocks

    2,750View on GitHub↗

    Scratch-blocks is a block-based visual programming library and framework used to create graphical programming interfaces. It provides a visual environment that translates interlocking blocks into executable code, serving as a foundation for educational coding interfaces and visual programming languages. The project is implemented as a customized extension of the Google Blockly ecosystem. It enables the development of domain-specific languages through a drag-and-drop interface, supporting the creation of custom block libraries and no-code tool development. The framework handles the structural

    JavaScript
    View on GitHub↗2,750
  • retejs/reteretejs avatar

    retejs/rete

    12,077View on GitHub↗

    Rete is a framework for building interactive, node-based visual interfaces and dataflow programming environments. It provides a core engine that processes directed graphs, allowing developers to define modular logic where nodes represent operations and connections represent the flow of data or control. By decoupling the graph logic from the user interface, the framework enables the creation of custom visual editors that can be integrated into various frontend component libraries. The project distinguishes itself through a highly extensible, signal-driven architecture that supports complex req

    TypeScriptdataflow-programmingflow-based-programminggraph-editor
    View on GitHub↗12,077
  • wa0x6e/cal-heatmapwa0x6e avatar

    wa0x6e/cal-heatmap

    3,140View on GitHub↗

    cal-heatmap is a JavaScript visualization library used to render time-series data as a grid of colored cells. It functions as a customizable calendar component that maps data density and frequency over temporal intervals ranging from minutes to years. The library provides built-in support for localized temporal displays, allowing for the adjustment of regional date formats, timezones, and locale-specific week starts. It utilizes a plugin system for both the calendar layout and heatmap charts to extend behaviors and visual styles. The system manages data visualization through SVG-based grid r

    TypeScriptcalendarcalendar-heatmapchart
    View on GitHub↗3,140
Compare all 30 related projects→

Frequently asked questions

What does raspberrypifoundation/blockly do?

Blockly is a web-based visual programming editor and block-based code generator. It allows users to create programs by interlocking graphical blocks that translate into executable source code for various programming languages, removing the need for manual syntax entry.

What are the main features of raspberrypifoundation/blockly?

The main features of raspberrypifoundation/blockly are: Block-Based Code Generators, Visual Programming Representations, Block Shape Definitions, Low-Code Development Platforms, Workflow-to-Code Generators, Visual Language Frameworks, Visual Programming Environments, Educational Programming Environments.

Which projects share features with raspberrypifoundation/blockly?

Projects with overlapping indexed features include: google/blockly — Blockly is a block-based coding library and visual programming editor that allows users to build programs by… scratchfoundation/scratch-blocks — Scratch-blocks is a block-based visual programming library and framework used to create graphical programming… retejs/rete — Rete is a framework for building interactive, node-based visual interfaces and dataflow programming environments. It… wa0x6e/cal-heatmap — cal-heatmap is a JavaScript visualization library used to render time-series data as a grid of colored cells. It… videojs/video.js — Video.js is a customizable HTML5 video player framework and JavaScript media plugin system. It provides a foundation… yoopta-editor/yoopta-editor — Yoopta-Editor is a headless framework for building customizable block-based rich text editors. It utilizes a…