中文

Cydon

A lightweight MVVM library based on Web Components

Learn Cydon
Lightweight
🚀

Under 600 lines of core code, only ~3KB after Brotli compression

No Virtual DOM
🔩

Built on native Web Components, no virtual DOM, no special Devtools extension needed

No Build Step
🔌

Works out of the box, no compilation required. Proxy-based reactivity with dynamic property tracking

Separation of Concerns
🏹

Separate DOM structure from logic for easier maintenance

Easy to Learn
🔧

Simple API design, no new syntax to learn, just Web Components knowledge needed

Progressive Loading
🧰

Built-in directives support on-demand loading, no need to load all at once

Cydon introduces a novel approach to building web applications. Instead of relying on virtual DOM, it collects all mutable DOM parts during the binding phase, maintains a mapping from variable names to DOM parts, and updates the DOM asynchronously.

Unlike virtual DOM approaches, when updating the DOM, Cydon doesn't need to traverse the (v)DOM tree since mutable parts are already collected during binding. It simply updates the changed parts in order, giving Cydon significant advantages in both performance and bundle size.

pnpm i cydon