This has been a long time journey, that started in my case with object orientation, and then out of the practice of writing hypertext and seeking to illustrate the writing with standardised interactive elements - we required modules.
The web made this so hard. But now after more than 30 years of pain, we can feel the beginnings of that vision becoming possible. I had personally begun to feel that it was impossible. If it indeed becomes the case - then we have web standards to thank over technology.
In wiki I have wished for some time to be able to include such interactive widgets of modules in an easy and painless manor - a little like we currently deploy plugins to wiki - but far simpler. But how?
My thought a few years ago was to use the modern reincarnation of frames and window.postmessage for communication. In researching this loose idea I came across web components and micro-frontends. Here we begin to explore the best integration strategy for wiki.
# Wasm
The first route I looked forwards to was to deploy small applications just as i had become accustomed to doing in the environment I had created for Livecode development - but instead of deploying the "view" or "module" to an application I wanted to deploy it as a plugin.
This approach was and is clearly possible, but I could not so easily enter into the CoffeeScript based plugin authoring environment - so that work stalled somewhat. Now that wasm has become fully integrated into modern browsers - this again looks like a strong contender for future practice.
# Frames
Now that we have marshalled the modern power of frames and web messaging in wiki, we can easily create micro-applications or simple single-page web applications, that act as modular elements for wiki.
# Web components The original hope was to use web components to replace plugins. This is what we begin to explore again now - with an eye on wasm and simple frames.
# See also - Web Component - Microservice - Micro Frontends - Micro Application - Isolation without Containers - Wasmer and Fastly's Terrarium