Blockly

Last updated
Blockly
Original author(s) Neil Fraser, Quynh Neutron, Ellen Spertus, Mark Friedman
Developer(s) Google, MIT
Initial releaseMay 2012;12 years ago (2012-05)
Stable release
Q1 2022 Patch 3 / 8 June 2022;2 years ago (2022-06-08) [1]
Repository github.com/google/blockly
Written in JavaScript
Platform Web browser
Size 150 KB
Available in50 languages
List of languages
English
Type Library
License Apache License 2.0
Website developers.google.com/blockly

Blockly is a client-side library for the programming language JavaScript for creating block-based visual programming languages (VPLs) and editors. A project of Google, it is free and open-source software released under the Apache License 2.0. [2] It typically runs in a web browser, and visually resembles the language Scratch.

Contents

Blockly uses visual blocks that link together to make writing code easier, and can generate code in JavaScript, Lua, Dart, Python, or PHP. It can also be customized to generate code in any textual programming language. [3]

History

Blockly development began in summer 2011. The first public release was in May 2012 at Maker Faire. Blockly was originally designed as a replacement for OpenBlocks in App Inventor. [4] Neil Fraser began the project with Quynh Neutron, Ellen Spertus, and Mark Friedman as contributors.

User interface

The default graphical user interface (GUI) of the Blockly editor consists of a toolbox, which holds available blocks, and where a user can select blocks, and a workspace, where a user can drag and drop and rearrange blocks. The workspace also includes, by default, zoom icons, and a trashcan to delete blocks. [5] The editor can be modified easily to customize and limit the available editing features and blocks.

Customization

Blockly includes a set of visual blocks for common operations, and can be customized by adding more blocks. New blocks require a block definition and a generator. The definition describes the block's appearance (user interface) and the generator describes the block's translation to executable code. Definitions and generators can be written in JavaScript, or using a visual set of blocks, the Block Factory, which allows new blocks to be described using extant visual blocks; the intent is to make creating new blocks easier.

Applications

Blockly is used in several notable projects, including:

Features

Related Research Articles

<span class="mw-page-title-main">Plug-in (computing)</span> Software component that adds a specific feature to an existing software application

In computing, a plug-in is a software component that adds a specific feature to an existing computer program. When a program supports plug-ins, it enables customization.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at the Massachusetts Institute of Technology (MIT) Media Lab and Scheller Teacher Education Program in Massachusetts. It is an extension of the Logo programming language, a dialect of Lisp. Designed for education, StarLogo can be used by students to model or simulate the behavior of decentralized systems.

<span class="mw-page-title-main">Scratch (programming language)</span> Programming language learning environment

Scratch is a high-level, block-based visual programming language and website aimed primarily at children as an educational tool, with a target audience of ages 8 to 16. Users on the site can create projects on the website using a block-like interface. Scratch was conceived and designed through collaborative National Science Foundation grants awarded to Mitchel Resnick and Yasmin Kafai. Scratch is developed by the MIT Media Lab and has been translated into 70+ languages, being used in most parts of the world. Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of 15 February 2023, community statistics on the language's official website show more than 123 million projects shared by over 103 million users, and more than 95 million monthly website visits. Overall, over 1 billion total projects have been created, with the site reaching its 1,000,000,000th project in April 2024.

<span class="mw-page-title-main">AppJet</span> Company

AppJet, Inc. was a website that allowed users to create web-based applications on a client web browser. AppJet was founded by three MIT graduates, two of whom were engineers at Google, before starting AppJet. They launched their initial public beta on December 12, 2007, allowing anyone to create a web app.

<span class="mw-page-title-main">Scripting language</span> Programming language designed for scripting

In computing, a script is a relatively short and simple set of instructions that typically automate an otherwise manual process. The act of writing a script is called scripting. Scripting language or script language describes a programming language that is used for scripting.

<span class="mw-page-title-main">MIT App Inventor</span> Web application development environment

MIT App Inventor is a high-level block-based visual programming language, originally built by Google and now maintained by the Massachusetts Institute of Technology. It allows newcomers to create computer applications for two operating systems: Android and iOS, which, as of 25 September 2023, is in beta testing. It is free and open-source released under dual licensing: a Creative Commons Attribution ShareAlike 3.0 Unported license and an Apache License 2.0 for the source code. Its target is primarily children and students studying computer programming, similar to Scratch.

<span class="mw-page-title-main">Google Apps Script</span> Scripting platform developed by Google

Google Apps Script is a scripting platform developed by Google for light-weight application development in the Google Workspace platform. Google Apps Script was initially developed by Mike Harm as a side project while working as a developer on Google Sheets.

Snap<i>!</i> (programming language) Block-based programming language

Snap! is a free block-based educational graphical programming language and online community. Snap allows students to explore, create, and remix interactive animations, games, stories, and more, while learning about mathematical and computational ideas. While inspired by Scratch, Snap! has many advanced features. The Snap! editor, and programs created in it, are web applications that run in the browser without requiring installation. It is built on top of Morphic.js, a Morphic GUI, written by Jens Mönig as 'middle layer' between Snap! itself and 'bare' JavaScript.

Hopscotch is a visual programming language developed by Hopscotch Technologies, designed to allow young or beginner programmers to develop simple projects. Its simple UI allows its users to drag and drop blocks to create scripts that can be played when activated. The use of the language is through an iPad or iPhone supporting Hopscotch. It has many easy-to-understand tutorials to help kids learn faster, and the ability to play other users projects that can help them learn and let them play!

<span class="mw-page-title-main">VIPLE</span>

ASU VIPLE is a Visual IoT/Robotics Programming Language Environment developed at Arizona State University.

ASP.NET Web Forms is a web application framework and one of several programming models supported by the Microsoft ASP.NET technology. Web Forms applications can be written in any programming language which supports the Common Language Runtime, such as C# or Visual Basic. The main building blocks of Web Forms pages are server controls, which are reusable components responsible for rendering HTML markup and responding to events. A technique called view state is used to persist the state of server controls between normally stateless HTTP requests.

Google App Maker was a low-code application development tool, developed by Google Inc. as part of the G Suite family. It allowed developers or its users to build and deploy custom business apps on the web.

<span class="mw-page-title-main">GDevelop</span> Open-source, cross-platform game engine

GDevelop is a 2D and 3D cross-platform, free and open-source game engine, which mainly focuses on creating PC and mobile games, as well as HTML5 games playable in the browser. Created by Florian Rival, a software engineer at Google, GDevelop is mainly aimed at non-programmers and game developers of all skillsets, employing event based visual programming similar to engines like Construct, Stencyl, and Tynker.

References

  1. "Release Q1 2022 Patch 3 · google/Blockly". GitHub .
  2. Metz, Cade. "Google Blockly Lets You Hack With No Keyboard". Wired.
  3. "Google's Blockly Teaches You to Create Apps". NBC Bay Area.
  4. "Google Groups". Groups.google.com. Retrieved 16 January 2018.
  5. Black, Lucy (12 June 2012). "Google Blockly – A Graphical Language with a Difference". I-programmer. Retrieved 3 July 2019.
  6. "Scratch 3.0's new programming blocks, built on Blockly". Google.
  7. "MIT App Inventor 2". MIT.
  8. "Translate Code.org". Code.org.
  9. "Microsoft MakeCode". Microsoft .
  10. "Microsoft MakeCode Computer Science Education". Microsoft .
  11. "PICAXE Blockly". PICAXE. Retrieved 5 July 2020.
  12. "SAM Labs Blocks: Getting started on Workbench". edu.workbencheducation.com. Retrieved 2020-10-10.
  13. "Blockly Demo: Code". Blockly-demo.appspot.com. Retrieved 16 January 2018.
  14. "Blockly Demo: JS-Interpreter". Blockly Samples. Retrieved 24 February 2023.
  15. "Localisation statistics for the Blockly core module". Translatewiki.net. Retrieved 16 January 2018.
  16. "Blockly Demo: RTL". Blockly Samples. Retrieved 24 February 2023.