Can I implement my own THYVisualPlugin for achieving compatibility with uniGUI?

Currently, when I use a Delphi host for a Delphi visual plugin, I can show the visual plugin parented by any VCL control on the host application.
I’m using uniGUI ( for creating a web application and I hope that Hydra could work for making my application modular (without the limitations of using BPL).
uniGUI uses the Delphi form editor, and its components inherited from the VCL hierarchy. For example, a TUniForm inherits from TForm (as Hydra THYVisualPlugin).
The difference between uniGUI and a common VCL application is that it renders its components as JavaScript code which is returned to the client running in the browser.
In other words, my uniGUI visual plugins should inherit from TUniForm and not TForm.
Could I create something like a TUniHYVisualPlugin class keeping the expected Hydra behavior, but adding the uniGUI behavior provide by their base class (TUniForm)?
Are you doing anything super complicated when implementing the interfaces?

By using Hydra when creating uniGUI applications we can work in parallel using different versions of Delphi as long as we install all the used run-time versions of uniGUI (that is, their JavaScript libraries).




you can use cross-platform mode. this mode allows to avoid using bpl.
limitation: you can’t pass delphi objects between plugin/host as is.

yes, you can. it can be similar to THYVisualPlugin or THYFMXVisualPlugin
also you should implement some additional classes, that describe interaction with your plugin. You can look at classes ended with PluginWrapper in Hydra.
by other hand, your interaction can be covered by THYCrossPlatformVisualPluginWrapper

you can use different versions of delphi for plugins/host when it is used in cross-platform mode, like



Once we buy Hydra, I’ll create my own visual plugin TUniHYVisualPlugin and link with packages to keep the possibility of passing objects between the host and my plugins. In particular, the host keeps the current session and the connection to the database. I don’t expect any compatibility issue because the VCL compatibility is available only for using the class hierarchy, no local visual interaction will happen. I hope that I can create the new class and integrate it on the product to be able to create that specific kind of visual plugin (avoiding to edit the .PAS/.DFM files).