Try Blockly
Blockly Basics

The Blockly library adds an editor to your app that represents coding concepts as interlocking blocks. Blockly generates simple, syntactically-correct code from the blocks in the editor, which your app can use to run games, control robots, or do anything else your imagination can concieve.
Built with Blockly
Blockly is being used by hundreds of projects, most of them educational:
Blockly for Web
Blockly allows web pages to include a visual code editor for any of Blockly's five supported programming languages, or your own. In Blockly Games, pictured here, users can solve a maze using Blockly's editor on the right.
Blockly is...
- Pure JavaScript library.
- 100% client side. No server side dependencies.
- Compatible with all major browsers: Chrome, Firefox, Safari, Opera, and Edge.
- Highly customizable and extensible.
Developer Resources
Plugins
Blockly plugins are self-contained pieces of code that add functionality to Blockly.
Plugins can add fields, define themes, create renderers, and much more.