framework

ccmjs Framework

version License Docs Build Runtime Declarative Versioning

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.

🚀 Quick Start

Include ccmjs:

<script src="https://ccmjs.github.io/framework/ccm.js"></script>

Start a component:

ccm.start(component, config, area);

💡 Quick Example

<!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.

✨ Beyond the Basics

ccmjs also provides:

On top of that, ccmjs can be used to build:

📚 Documentation

Full documentation is available in the ccmjs Wiki.

📌 Use a specific version

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.

Optional: Verify integrity with SRI Subresource Integrity (SRI) lets the browser verify that the downloaded file matches the expected contents: ```html ``` This hash applies to the minified **28.0.0** file. When changing versions, update both the URL and the integrity hash.

📄 License

ccmjs is released under the MIT License.