Cydran

An unobtrusive Javascript presentation framework

Cydran is designed to simplify the development of dynamic web applications. By focusing on modularity and ease of integration, Cydran allows developers to create highly maintainable and scalable codebases.

It leverages the MVVM (Model-View-ViewModel) pattern to promote a clean separation of concerns, making it easier to manage complex UI interactions and state management. With strong TypeScript support and a declarative approach to UI development,

Cydran aims to provide a powerful yet intuitive solution for building modern web interfaces.

Hello World in Cydran

import { builder, Component, Stage } from "cydran";

class HelloWorld extends Component {

	private name: string;
								
	constructor() {
		super("<p>Hello {{ m().name }}</p>");
		this.name = "World";
	}
								
}

const stage: Stage = builder("body")
	.withInitializer((stage: Stage) => {
		stage.setComponent(new HelloWorld());
	})
	.build();

stage.start();

Overview

Zero external dependencies

Renders DOM directly from template markup without transformation

Less than 200KB minified total framework footprint

Testing support

Built in TypeScript from the ground up

MVVM (Model-View-ViewModel) architecture

Support CommonJS, AMD, and global variable module loading

Dependency injection and inversion of control

Publish/Subscribe event system

Project Status

Currently in development, Cydran is not yet ready for production use.

However, we are actively working on adding new features and improving the framework. If you are interested in contributing, please check out the GitHub repository.