Blockly

Last updated
Blockly
Original author(s) Neil Fraser, Quynh Neutron, Ellen Spertus, Mark Friedman
Developer(s) Google, MIT
Initial releaseMay 2012;11 years ago (2012-05)
Stable release
Q1 2022 Patch 3 / 8 June 2022;17 months 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

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 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.

<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, called Scratchers, can create projects on the website using a block-like interface. Projects can be exported to standalone HTML5, Android apps, Bundle (macOS) and EXE files using external tools. Scratch was conceived and designed through collaborative National Science Foundation grants awarded to Mitchell Resnick and Yasmin Kafai. The service is developed by the MIT Media Lab, and has been translated into 70+ languages, and is 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, over 804 million total projects ever created, and more than 95 million monthly website visits.

Google Workspace is a collection of cloud computing, productivity and collaboration tools, software and products developed and marketed by Google. It consists of Gmail, Contacts, Calendar, Meet and Chat for communication; Currents for employee engagement; Drive for storage; and the Google Docs Editors suite for content creation. An Admin Panel is provided for managing users and services. Depending on edition Google Workspace may also include the digital interactive whiteboard Jamboard and an option to purchase add-ons such as the telephony service Voice. The education edition adds a learning platform Google Classroom and today has the name Workspace for Education.

<span class="mw-page-title-main">Microsoft Popfly</span> Defunct mashup website

Microsoft Popfly was a Website that allowed users to create web pages, program snippets, and mashups using the Microsoft Silverlight rich web applications runtime and the set of online tools provided. It was discontinued on August 24, 2009.

<span class="mw-page-title-main">Scripting language</span> Programming language for run-time events

A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

<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. Google Apps Script was first publicly announced in May 2009 when a beta testing program was announced by Jonathan Rochelle, then Product Manager for Google Docs. In August 2009 Google Apps Script was subsequently made available to all Google Apps Premier and Education Edition customers. It is based on JavaScript 1.6, but also includes some portions of 1.7 and 1.8 and a subset of the ECMAScript 5 API. Apps Script projects run server-side on Google's infrastructure. According to Google, Apps Script "provides easy ways to automate tasks across Google products and third party services." Apps Script is also the tool that powers the add-ons for Google Docs, Google Sheets and Google Slides.

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

Snap! is a free block-based educational graphical programming language and online community allowing 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.

Google APIs are application programming interfaces (APIs) developed by Google which allow communication with Google Services and their integration to other services. Examples of these include Search, Gmail, Translate or Google Maps. Third-party apps can use these APIs to take advantage of or extend the functionality of the existing services.

Hopscotch is a visual programming language developed by Hopscotch Technologies, designed to allow young or beginner programmers to develop simple projects. It's 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.

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">Boxy SVG</span> Vector graphics editor

Boxy SVG is a vector graphics editor for creating illustrations, as well as logos, icons, and other elements of graphic design. It is primarily focused on editing drawings in the SVG file format. The program is available as both a web app and a desktop application for Windows, macOS, ChromeOS, and Linux-based operating systems.

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.