WTH HA is maintained as monolith?

yes, with exception that some of those plugin-supporting apps still require restart of the app (imo mentioned Photoshop unless it didn’t change last years). There are obviously other applications which are able to load and run external modules during runtime (DAWs loading instruments and effects)

Ability to add/load/reload modules in runtime is one of crucial needs of my OP. As you said it’s not a rocket science (based on similar experience with other laguages to your)

thank you

A smart guy once said that components that change together should be deployed together, and vice versa. From one software engineer to another, separating HA Core releases from integration deployment is the obvious way to go.

3 Likes

Loading and unloading on demand usually depends on the application and type of plugin. The application needs to be built in a way to support the concept. It requires deferred init and shutdown procedures for modules that are independent of the core system init. That can be complex to retrofit into an application that wasn’t designed to handle this. It’s also complicated if you have inter-plugin dependency chains (a plugin depends on another).

But HA itself is already designed around very modular concepts (integrations, components, etc) and it’s not precompiled, so you don’t have ABI issues. Technically it should definitely be possible. It all boils down to how well the modularity aspect of HA was designed and implemented on a structural level in the code.

1 Like