Mamoo released as open source
I just put the Motionbox Advanced Model Observer Observer (Mamoo) up on Github. It's a light-weight (13k), but fairly powerful framework for javascript built on top of Prototype and the Motionbox EventHandler.
It's fairly well documented and has a full suite of specs written in ScrewUnit.
Mamoo let's you stop thinking about the "glue code" you need on a client-side app - and start thinking like "when this happens, I want this to happen." - Event driven architecture in JS.
Checkout the readme for a romp through most of the features.
To whet your appetite, here's a really small, but useful app written with Mamoo.
-
Message = MBX.JsModel.create("Message");
-
-
MBX.MessageView = MBX.JsView.create({
-
model: Message,
-
-
onInstanceCreate: function (message) {
-
var li = this.buildLi(message);
-
$("message_list").insert(li);
-
},
-
-
buildLi: function (message) {
-
var li = new Element("li", { id: message.primaryKey() });
-
li.update(message.get('body'));
-
li.updatesOn(message, "body");
-
return li;
-
}
-
});
-
-
// This will add the ui element
-
var message = Message.create({ body: "this is my body!" });
-
-
// and if you change body, the ui will automatically update as well
-
message.set('body', "some other body");
Assuming you have an ol with the id of "message_list" in your html page, now everytime you create a message, it'll get populated into the DOM.
I also put together a 15minute screencast that gives you a quick demo of a bunch of the features of Mamoo.
Nifty?

Pingback: Ajaxian » Maboo: Client-side MVC from Motionbox
Pingback: Mamoo: Client-side MVC from Motionbox | Guilda Blog
Pingback: A collection of links about JavaScript and the MVC development pattern - paulcarvill.com
Pingback: Client-side MVC is maturing — Ben Godfrey