Blockly

Print Print
Reading time 4:48

Blockly
Original author(s)Neil Fraser, Quynh Neutron, Ellen Spertus, Mark Friedman
Developer(s)Google, MIT
Initial releaseMay 2012; 9 years ago (2012-05)
Stable release
Q1 2021 / 25 March 2021; 2 months ago (2021-03-25)[1]
Repositorygithub.com/google/blockly
Written inJavaScript
Operating systemAndroid, iOS
PlatformWeb browser
Size150 KB
Available in50 languages
List of languages
English
TypeLibrary
LicenseApache 2.0
Websitedevelopers.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. It is also being implemented for the mobile operating systems Android and iOS, though not all of its browser-based features will be available on those platforms.

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:

  • MIT's Scratch, visual programming environment for education[6]
  • MIT's App Inventor, to create applications for Android[7]
  • Blockly Games, a set of educational games that teach programming concepts such as loops and conditionals[8][9]
  • Code.org, to teach introductory programing to millions of students in their Hour of Code program[10]
  • RoboBlockly, a web-based robot simulation environment for learning coding and math
  • Wonder Workshop, to control their Dot and Dash educational robots[11]
  • KodeKLIX, to control their snap-together electronic components[12]
  • PICAXE, to control their educational microchips[13]
  • SAM Labs, in STEAM learn-to-code education solutions[14]
  • Blockly, helps kids learn about coding for education

Features

  • Web-based using Scalable Vector Graphics (SVG), no Flash
  • Completely client-side JavaScript
  • Support of major web browsers including: Chrome, Firefox, Safari, Opera, Internet Explorer (IE)
  • Mobile support on Android and iOS
  • Support for many programmatic constructs including variables, functions, arrays
  • Minimal type checking supported, designed for weakly typed languages
  • Easy to extend with custom blocks. Use the Block Factory to make new blocks
  • Clean code generation[15]
  • Step-by-step code execution for tracing and debugging code[16]
  • Localised into 50+ languages[17]
  • Support for left-to-right and right-to-left languages[18]

References

  1. ^ https://github.com/google/blockly/releases/tag/5.20210325.0
  2. ^ "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. ^ "Google Introduces Kids to Coding Through Blockly Games Project". EWeek.
  9. ^ "Blockly: Maze Archives – BrainPOP Educators". BrainPop.
  10. ^ "Translate Code.org". Code.org.
  11. ^ "Wonder Workshop Blockly". Wonder Workshop. Retrieved 3 July 2019.
  12. ^ "KodeKLIX STEM Kit Coding Interface". KodeKLIX. Retrieved 5 July 2020.
  13. ^ "PICAXE Blockly". PICAXE. Retrieved 5 July 2020.
  14. ^ "SAM Labs Blocks: Getting started on Workbench". edu.workbencheducation.com. Retrieved 2020-10-10.
  15. ^ "Blockly Demo". Blockly-demo.appspot.com. Retrieved 16 January 2018.
  16. ^ "Blockly Demo: JS Interpreter". Blockly-demo.appspot.com. Retrieved 16 January 2018.
  17. ^ "Localisation statistics for the Blockly core module". Translatewiki.net. Retrieved 16 January 2018.
  18. ^ "Blockly Demo: RTL". Blockly-demo.appspot.com. Retrieved 16 January 2018.

By: Wikipedia.org
Edited: 2021-06-18 18:12:13
Source: Wikipedia.org