D a m o

Javascript MVC framework for 2 way data binding
Designed for front-end development
100% JQuery based and compatible
Light weight : less than 15ko

What is Damo ?

Damo is a javascript MVC framework designed for rapid but clean and structured front-end developpement.


When using Damo ?

Each time you need a two-way data binding MVC framework, to shorten your development time.


Why Damo ?

Damo is coming from three observations about the 2016 universe of the front-end developpement :

So, I decided to develop a library based on JQuery, keeping its simple coding fashion, but providing the two-way binding like Angular. Doing so I whish to get the stability of JQuery as well as the rapid development possibility provided by Angular. The objective is to provide a way to develop front-end applications quickly, but not dirty, with short codes and with a well structured architecture that minimize the possibility of bugs.

Data Model

It is fundamental to note that the javascript libraries (JQuery, Angular, ...) are part of the problem for a front-end development, but the structuration of the data is an other part, which is of crucial importance. Actually Damo stands for Data model, which is the key element of Damo's engine. A well structured applicative data model, under a json format, reduces drastically the code to produce, when you need to manipulate the data. This is the main idea behind Damo.


Damo's is all made of modules. Filters, directives, functions (equivalent of Angular.js's services), are all loadable from any external library, directly by inclusion inside the header of the index.html. For instance it is trivial to load and use jquery-ui if needed, or any home made processing library already coded for an other application.


Damo's is made simple to reduce the complexity of the application as much as possible. There is nos special syntax, nor module provider, nor Jqlite, ... as it is in Angular.js for instance. There are very few base functions, and very few specific html tag. Damo has been designed to be as simple as JQuery.

Getting started

Here is the minimum code to display "Hello World !" :

<!DOCTYPE html>
    <title>Damo Hello World</title>
    <meta charset="utf-8">    
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    <script src="damo.min.js"></script>
      damo.dm.myText = "Hello World !";
    <div damo-id="myText"></div>

A more sofisticated example is provided by the damoSeed, that you can download. The User guide will give you more explanations on how Damo works.