What does HackerNews think of litegraph.js?

A graph node engine and editor written in Javascript similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. The engine can run client side or server side using Node. It allows to export graphs as JSONs to be included in applications independently.

Language: JavaScript

#85 in JavaScript
#42 in Node.js
In the early days of KloudTrader, we attempted to use Visual Programming too.

https://web.archive.org/web/20171006072839/http://www.kloudt...

The main difficulty was scale and tradeoffs between power vs ease-of-use. We spent a lot of time creating "subroutine blocks" for the most commonly used functions and optimizing for UI/ease of use that we weren't doing much else. Furthermore, pretty much every integration, library etc. had to be converted into its visual equivalents for the language to be of any use and all the linear algebra/candlestick libraries were taking up so much time that the rest of the product was suffering. Stuff that often makes sense to a professional programmer had to be "simplified" so the UX is more optimal. E.g. data structures.

If you look at VPLs in production, there's a reason most of them tend to be "imperative commands only" i.e. a glue language that mainly strings together other subroutines. The concept of objects, or even structs is completely eliminated in the VPL.

http://www.ni.com/getting-started/labview-basics/data-struct...

There are exceptions to this however, the Unreal Engine's Blueprints is a lot more flexible than most.

If you want to get started building your own version of Google's Blockly, here's a good guide:

http://www.aosabook.org/en/500L/blockcode-a-visual-programmi...

Throw in an immediate-mode UI library like React and you might even scale up indefinitely with plain HTML (most browser VPLs stick with SVG/Canvas).

For prettier node-based types of languages, try these libraries:

https://github.com/retejs/rete

https://github.com/slothking-online/diagram

https://github.com/jagenjo/litegraph.js

Bonus tip for anyone looking to implement any: use code generators. AST -> Visual programming component conversion may save you lots of time (assuming that the language has mature enough tooling and labour is extremely expensive)