Cascade

A modern library for creating user interfaces

Written for JavaScript and TypeScript, Cascade is a complete framework for displaying and synchronizing application data.

Using modern techniques, the framework simply "gets out of your way". You simply set up your Application State, display it in a Component, and Cascade handles the rest. If you update the data, the DOM is automatically updated as well!

Plus, using careful dependency tracking, updates are planned for maximum efficiency!

Getting a Cascade application going is super easy!

/* Import Cascade */
import Cascade, { Component, observable } from 'cascade';

/* Define your Application State */
class ApplicationState {
    @observable value = 'Some value';
}

/* Define your Component Props */
interface IViewProps {
    applicationState: ApplicationState;
}

/* Define your Component */
class View extends Component<IViewProps> {
    render() {
        let { applicationState } = this.props;
        return (
            <div>{applicationState.value}</div>
        );
    }
}

/* Render your Application */
let applicationState = new ApplicationState();
Cascade.render(document.body, <View applicationState={applicationState} />);

/* Update your Application State */
applicationState.value = 'Some NEW value';

So go ahead and get started!