I am looking for a Visual Scripting IDE. Since there are too many for me to try each out in depth, given my current crushing deadlines, I will specify as much as I can and hope for a reply from someone who has experience of the solution which they recommend.
I have to develop a test engine for our software. Users of all kinds should be able to specify and run test scripts. As many of them are non-technical, I thought of the kid's visual programming language "Scratch" from MIT, which is simple to use, but quite powerful.
Users drag and drop icons to create programs, such as this traditional example:
The language has some standard programming concepts, such as branching and looping.
I am unsure whether it is extensible to add my own keywords and actions, so I asked this question to try to find out.
I suppose that I can, since it is FOSS, but that might be a major effort.
So, does anyone have experience of a VPl which they can recommend?
Features:
- gratis for commercial use (open source a bonus)
- runs on Windows (Linux a bonus)
- visual programming IDE
- non-threatening to non-techies
- supports branching and looping
- allows adding keywords (in fact, I require no built-in keywords; I am willing to provide them all, plus back-end code. I just want the nice IDE, with drag and drop scripting of the keywords)
- can run external programs
- completed scripts must be runnable from the command line, for automation
Nice to have:
- generates output in a scripting language such as Python
- possible for programmers to directly code in the IDE's scripting language - without the IDE - and then run the scripts
[Update] I have just found Google's Blockly
Blockly was influenced by App Inventor, which in turn was influenced by Scratch, which in turn was influenced by StarLogo.
It looks very promising. Especially when it says
- Exportable code. Users can extract their programs as JavaScript, Python, PHP, Dart or other language so that when they outgrow Blockly they can keep learning.
- Open source. Everything about Blockly is open: you can fork it, hack it, and use it in your own websites.
- Extensible. Make Blockly fit with your application by adding custom blocks for your API and remove unneeded blocks and functionality.
One possible snag is that it is browser based, but if my management don't like that, then I can create a dummy Windows based app consisting of little but a TWebBrowser component.
I will investigate and report back - unless someone else posts an acceptable answer first.