You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> No installation. No build. Just include and start.
12
12
13
13
**ccmjs** is a lightweight JavaScript framework that implements the **Client-side Component Model (CCM)** — an architecture for building modular, reusable, and dynamically composed web applications.
14
14
15
-
Unlike typical frontend frameworks, **ccmjs operates entirely at runtime** and does not require build tools, bundlers, or compilation.
15
+
Components are loaded, configured, and composed dynamically at runtime — even across different framework versions.
16
16
17
-
Components can be loaded, configured, and composed dynamically at runtime — even across different framework versions.
18
-
19
-
# 🚀 Quick Start
17
+
## 🚀 Quick Start
20
18
21
19
Include ccmjs:
22
20
@@ -30,33 +28,7 @@ Start a component:
30
28
ccm.start(component, config, document.body);
31
29
```
32
30
33
-
# What is CCM?
34
-
35
-
The **Client-side Component Model (CCM)** is an architectural approach for building web applications from independent, reusable components that are composed at runtime.
36
-
37
-
Each component
38
-
39
-
- defines its own configuration schema
40
-
- declares dependencies declaratively
41
-
- can be loaded dynamically
42
-
- runs in an isolated runtime environment
43
-
44
-
This allows applications to be composed from independently evolving components while maintaining compatibility across versions.
45
-
46
-
**ccmjs** provides the reference implementation of this model in JavaScript.
The **Client-side Component Model (CCM)** is an architectural approach for building web applications from independent, reusable components that are composed at runtime.
109
66
110
-
2. Start a component
67
+
Each component
111
68
112
-
```js
113
-
ccm.start(componentURL, config, element);
114
-
```
69
+
- defines its own configuration schema
70
+
- declares dependencies declaratively
71
+
- can be loaded dynamically
72
+
- runs in an isolated runtime environment
115
73
116
-
That's it — the framework performs the full lifecycle automatically:
74
+
This allows applications to be composed from independently evolving components while maintaining compatibility across versions.
117
75
118
-
- load the component
119
-
- resolve dependencies
120
-
- create an instance
121
-
- render it.
76
+
**ccmjs** provides the reference implementation of this model in JavaScript.
122
77
123
-
# Why CCM?
78
+
##Why CCM?
124
79
125
80
Most frontend frameworks assume
126
81
@@ -144,10 +99,32 @@ This enables
144
99
- integration of independently developed components
145
100
- dynamic applications that evolve over time
146
101
147
-
# Documentation
102
+
## Key Features
103
+
104
+
- Runtime component loading
105
+
- Declarative configuration (JSON-based)
106
+
- Automatic dependency resolution
107
+
- Version isolation (framework + components)
108
+
- Multiple versions can coexist
109
+
- No build step required
110
+
- Fully client-side execution
111
+
- Instance-level DOM isolation (Shadow DOM)
112
+
113
+
## Core API
114
+
115
+
| Function | Purpose |
116
+
|--------|--------|
117
+
|`ccm.load()`| Load resources dynamically |
118
+
|`ccm.component()`| Register or load components |
119
+
|`ccm.instance()`| Create component instances |
120
+
|`ccm.start()`| Create and start component instances |
121
+
|`ccm.store()`| Create datastore accessors |
122
+
|`ccm.get()`| One-time data retrieval |
123
+
124
+
## Documentation
148
125
149
126
Full documentation is available in the [ccmjs Wiki](https://github.com/ccmjs/framework/wiki).
0 commit comments