At first I wanted to say you cannot as your primary assumption is not quite precise - Umbraco is rather SPA application, where most of the interactions happen in the client side.
But then, started envisioning some hybrid solution. Probably some basics will require JS/TS to just ensure the extension integrates properly with the Umbraco backoffice and wire events properly, but the core of your extension can be potentially loaded into the IFRAME and interact with server directly. For read-only controls/reports/information, this could be enough. For better UX, in-page scripting can be provided in something as simple as jQuery or HTMX without interfering the Umbraco solution at all.
Such wrapper could be created as generic nuget package for everyone to use - just bring your razor views and controllers, configure the integration and voilà - your plugin is ready.
It seems to be quite interesting concept - especially for read-only plugins or to features that call some external features, with limited integration with the system itself.
1 Like