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:
On top of that, ccmjs can be used to build:
Full documentation is available in the ccmjs Wiki.
To pin your app to a specific framework release, load it from jsDelivr:
<script src="https://cdn.jsdelivr.net/gh/ccmjs/framework@v28.0.0/ccm-28.0.0.min.js"></script>
This URL selects version 28.0.0. For another release, replace the version in both the tag (@v28.0.0) and the filename (ccm-28.0.0.min.js). You can also use this URL as the ccm dependency in a component.
ccmjs is released under the MIT License.