Composer.js: a framework for building complex single-page applications
lyonbros.github.io
lyonbros.github.io
It will be a pain to google anything about your project. Take a look at stackoverflow: https://stackoverflow.com/search?q=composer
I'd rename it if it were my project. And "go" is pretty bad, but it's clear that if you're looking for specific resources, 'golang' is the appropriate tag/search term.
But why?
Things Composer.js provides that are not in Backbone: Generic class system, filtered collections, controller-collection tracking, granular silencing of events, router-provided auto link binding, controller event inheritance.
As of v1.0, everything Moo-specific was ripped out, the class system was redone from scratch, and everything was modularized so different pieces of Composer could be used in different places, independent from each other.
For instance it's common practice for me to take just the class system or eventing objects from Composer into projects without importing all the other stuff.
Adding support for MooTools should be as simple as overriding Backbone.ajax and a few methods from Backbone.View. There exist at least one or two projects that do this already that I know of, though I've never had a use for them myself.
I wish backbone hadn't tied itself so closely to jquery early on because I really like the project and could have seen myself building a lot on top of it (like composer's filtercollections or listcontroller), and now it seems both projects are occupying closer and closer to the same space. Who knows, this may be good though.
replacing jQuery with MooTools in Backbone seems trivial, especially with respect to creating a whole new framework. you'd just need to override a small handful of methods.
all the other problems Composer solves that Backbone excludes (like filtered collections) are supplemented by other third party libraries. i'm not one of those "another framework?" guys- but it seems like you had a great opportunity to make the landscape more robust, instead of further segregating it.
We could have spent a good amount of time forking, fixing them, hopefully getting a PR merged (if the changes were even in-line with the project), and on top of that creating an adapter to replace any sort of DOM manipulation with Moo, which I think back then was more then just overriding a handful of methods.
So, composer was born not just out of "jquery sucks, we're redoing this" but more "well, we could fix all the stuff that we don't like in backbone, or build something that suits our needs directly."
I don't find this list [0] to be particularly helpful. It looks like the main addition is filtered collections and relations, which there are many ways of doing [1] or pretty easily added via a plugin.
(And as an aside, Backbone absolutely does support IE6, and goes out of its way to maintain bc, particularly in History).
[0] http://lyonbros.github.io/composer.js/pages/comparison [1] http://backbonejs.org/#FAQ-nested
The coding style is a bit off putting though. Why did you use underscores and Kernel-style, especially with the backbone-compatible API, where you use CamelCase?
It is irrational, but this lets me hesitate to dig deeper.
You can use Handlebars, Mustache, underscore, etc etc. Just take the output of your templating engine and pass it into `Controller.html()`.