Blockly
Blockly is a client-side JavaScript library for creating visual block programming editors. It is a project of Google and is open-source under the Apache 2.0 License.[1] It runs in a web browser, and resembles Scratch.
Blockly uses blocks that link together to make writing code easier, and can generate JavaScript, Python, PHP or Dart code. It can also be customised to generate code in any computer language.[2]
History
Development of Blockly started in summer of 2011, and the first public release was at Maker Faire in May 2012. Blockly was originally designed as a replacement for OpenBlocks in App Inventor.[3] Neil Fraser started the project with Quynh Neutron, Ellen Spertus and Mark Friedman as contributors.
User interface
The user interface of a Blockly program consists of a toolbox, which holds all the available blocks and a workspace, where you place the blocks. There is a trashcan on the workspace which deletes any blocks dragged onto it.[4]
Customising Blockly
Blockly comes with a basic set of blocks for common operations, but can be customized by adding more blocks. New blocks require a block definition and a generator. The definition describes the block's appearance and the generator describes the block's translation to executable code. There is an example program called Block Factory which makes writing the block definition easier by using Blockly blocks to construct a new block.
Applications using Blockly
Blockly has been used to build Blockly Games, a set of educational games that teach programming concepts such as loops and conditionals.[5][6]
Blockly is used by MIT's App Inventor to create applications for Android.[7]
Blockly is used by Code.org to teach introductory programing to millions of students in their Hour of Code program.[8]
Blockly is used by Wonder Workshop to control their Dot and Dash educational robots.[9]
Blockly is used by the Open Roberta project to program Lego Mindstorms EV3 robots.[10]
Blockly is used by snapp, to create apps and prototypes for iOS and Android.[11]
More examples can be found in the Blockly Documentation
Features
- Web based using SVG, no Flash
- Completely client side JavaScript
- Support of major web browsers including: Chrome, Firefox, Safari, Opera, 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 Blockly blocks with Blockly
- Clean code generation[12]
- Step-by-step code execution for tracing and debugging code[13]
- Localised into 50+ languages[14]
- Support for left-to-right and right-to-left languages[15]
See also
References
- ↑ "Google Blockly Lets You Hack With No Keyboard". WIRED.
- ↑ "Google's Blockly Teaches You to Create Apps". NBC Bay Area.
- ↑ "Google Groups".
- ↑ "Google Blockly - A Graphical Language with a Difference". i-programmer.
- ↑ "Google Introduces Kids to Coding Through Blockly Games Project". EWeek.
- ↑ "Blockly: Maze Archives - BrainPOP Educators". BrainPop.
- ↑ "MIT App Inventor 2". MIT.
- ↑ "Translate Code.org". Code.org.
- ↑ "Wonder Workshop Blockly". Wonder Workshop.
- ↑ "Open Roberta Lab". Fraunhofer IAIS.
- ↑ "snapp: Create Apps Visually". Foneclay Inc. Retrieved 16 September 2015.
- ↑ "Blockly Demo:".
- ↑ "Blockly Demo: JS Interpreter".
- ↑ "Localisation statistics for the Blockly core module".
- ↑ "Blockly Demo: RTL".