Tobias Uhlig
1 min readMay 4, 2021

--

For some reason, especially this quick write-up is getting a lot of traction.

You should take a look into the "real" articles:

https://neomjs.github.io/pages/ (blog)

Got a lot of feedback on other channels and it feels like the basic concepts are not clear.

In short: you don't drop components into the json based vdom. nor listeners. nor logic.

The JS side is in charge. You could call it OOP done right VS template driven approaches.

In e.g. React, a render() call destroys child items and creates new instances. Expensive and not needed and imo a reason why functional programming got popular.

There is no concept of "re-using JS instances".

Now in neo, there is an abstraction layer on top of the virtual dom called component tree. Also json based. There you add components and you can also easily add components containing json vdom.

In general: a state change in neo will NOT automatically destroy child items, but assign new config values to the JS instance. Bulk updates are possible, so it will result in triggering the vdom engine as little as possible.

Let me know in case you would like to get an article explaining the differences and advantages more in depth.

--

--