Online code editors such as CodePen, JSBin and the p5.js editor provide great environments for learning and quick experiments, but they still require you to write raw JavaScript by hand; visual programming systems like Apple Automator or the classic Alice IDE give a higherâlevel view in which code is generated from a tree of UI components and actions. The post argues that building an application in this way involves three core concepts: (1) a tree of nested userâinterface elements whose events trigger âAutomatorâstyleâ actions on a data model; (2) state machines that manage program lifecycles, expose state changes






















