Rumious is a frontend framework designed with a Virtual DOM-less (VDOM-less) philosophy, leveraging the power of a Rust-based compiler to optimize source code at compile-time.
- 🚀 Extreme Performance & VDOM-less: Rumious mounts and updates the DOM directly instead of routing through a Virtual DOM layer, achieving maximum processing speed and responsiveness.
- 🦀 Rust-based Compiler: A powerful compiler written in Rust (executing via WASM) performs static analysis and optimizes UI code before it runs in the browser.
- ⚡ Fine-grained Reactivity: A fine-grained reactivity system utilizing
createStateensures that state changes only update the precise DOM nodes that require it, minimizing redundant operations. - 🚏 Integrated Routing: Effortlessly handle application navigation with
@rumious/router.
The project is managed as a Monorepo, bridging the Rust and TypeScript/JavaScript ecosystems:
crates/compiler: The core compiler written in Rust, responsible for compiling and optimizing Rumious syntax.packages/core: The framework's core APIs, housing the reactivity system (createState, etc.) and the DOM rendering engine.packages/compiler: A WASM compiler wrapper integrating the Rust compiler into the Node.js environment.packages/router: The routing management library.packages/vite-plugin: A dedicated Vite plugin for the framework, enabling rapid development environment setup.packages/config: Shared configurations utilized across the project's packages.
This project uses pnpm as its package manager.
-
Clone the repository:
git clone https://github.com/smtdfc/rumious.git cd rumious -
Install dependencies:
pnpm install
-
Build the source:
# If you make changes to the Rust compiler, you may need to rebuild the WASM (depending on the package setup). # Then build the TypeScript packages: pnpm -r run build
-
Run test suites:
pnpm test
We welcome all community contributions. Feel free to open Issues to report bugs, request new features, or create a Pull Request to contribute source code.
This project is released under the MIT License. Copyright belongs to smtdfc.