In the previous post I talked about our support for non-visual components. This is now in place and I moved on to the next ticket on our list: datamodules! And we already have this working!
Datamodules changes everything
For those coming from Delphi, C++Builder or Lazarus – datamodules need no introduction. It allows us to quickly drag & drop non-visual components together which at runtime becomes a complex object structure.

While this is ‘old news’ for native languages, it is actually entirely new for the world of JavaScript. And it really comes into it’s own under Node and Deno (server side programming).
Node made easier
Node is what people use to create servers or local system-services that are platform agnostic and async in nature. The non-visual nature of the many modules and packages that Node servers are made from – makes it difficult to create any form of visual tooling for it.
This is where Datamodules come in! All those fancy classes we have created for NodeJS can now be elevated to TQTXComponent and registered with the component palette. That way you can drag & drop servers and non-visual classes just like you would in Delphi or C++Builder.
We can also introduce new project types where datamodules are created automatically by the application object (just like visual applications), which ties in nicely with the existing project build-config. This also applies for the library project type and should turbo charge creating complex libraries that can be consumed by JS developers.
Exciting times ahead!