mui-toolpad icon indicating copy to clipboard operation
mui-toolpad copied to clipboard

Explore: Databinding using visual programming

Open Janpot opened this issue 2 years ago • 1 comments

Node based visual programming languages are very suitable to represent data flow. Could this paradigm have value as a Toolpad databinding system. (Javascript bindings could still be supported in this system as custom nodes). nodes would be UI elements, queries, page query parameters,... but also serverside code, a database query,...

Advantage of such a system would be

  • lower the barrier to entry.
  • we could visualize better the difference between serverside and clientside code.
  • extensible
  • holistic view of the page behavior, instead of small pockets of JS expressions spread across the page.

Benchmark

  • https://www.uiflow.com/
  • https://reactflow.dev/
  • https://rete.js.org/
  • https://github.com/jagenjo/litegraph.js
  • https://docs.unrealengine.com/5.0/en-US/blueprints-visual-scripting-in-unreal-engine/
  • https://www.ni.com/nl-be/shop/labview.html
  • https://datablocks.pro/

Janpot avatar Jun 02 '22 16:06 Janpot

Extending upon this, feels like there would be some value in being able to add "API nodes" on the canvas and "wire" them to components.

The "API node" could also have integrations with other dev tools, allowing the Toolpad canvas to function as a "home for internal tools" - since it would include the components, the design system, the custom javascript snippets the "API nodes" and also the API documentation linked from them.

bharatkashyap avatar Aug 30 '22 11:08 bharatkashyap