Buildless. Composable. Runtime.
No installation. No build. Just include and start.
ccmjs is a lightweight JavaScript framework that implements the Client-side Component Model (CCM) — an architecture for building modular, reusable, and dynamically composed web apps.
Components are loaded, configured, and instantiated dynamically at runtime — even across different framework and component versions.
Include ccmjs:
<script src="https://ccmjs.github.io/framework/ccm.js"></script>Start a component:
ccm.start(component, config, area);<!DOCTYPE html>
<meta charset="UTF-8">
<body>
<script src="https://ccmjs.github.io/framework/ccm.js"></script>
<script>
const component = "https://ccmjs.github.io/quiz/ccm.quiz.mjs";
const config = {
feedback: true,
questions: [
{
text: "Does this example work?",
input: "radio",
answers: [
{ text: "Yes", correct: true },
{ text: "No" }
]
}
]
};
ccm.start(component, config, document.body);
</script>This loads the quiz component dynamically, instantiates it, and renders it into the page.
ccmjs also provides:
- 🔍 Full code transparency (inspect original source at runtime)
- 🗄️ Flexible data management (in-memory, local, or remote)
- 🔐 Security by design (isolation, SRI, encapsulation)
- 🧩 Dynamic composition of complex apps
- 🌐 Integration of independently developed components
On top of that, ccmjs can be used to build:
- 🧱 Digital Makerspaces (for non-developers)
- 💾 Data-sovereign apps
- 🖥️ Modular web-based environments (e.g. web desktops)
Full documentation is available in the ccmjs Wiki.
ccmjs is released under the MIT License.