Why not call it hexagonal.coffee? Why do CoffeeScript libraries get a .js extension? Yes I realize it works for JavaScript too, but it's weird to go see a library with *.js in the name and then to find only CoffeeScript in the documentation.
Hexagonal uses Raganwald's metaprogramming ideas. Follow the links from the dependency at <a href="https://github.com/gameboxed/YouAreDaBomb" rel="nofollow">https://github.com/gameboxed/YouAreDaBomb</a>.<p>This shows the beauty of Coffeescript syntax for functional programming. For a deep understanding read Raganwald's new book <a href="http://ristrettolo.gy" rel="nofollow">http://ristrettolo.gy</a>.
Isn't that glue going to fall apart when you start working with asynchronous methods? I might be suffering from tunnel vision, but IMO this is asking for an evented model:<p><pre><code> class Glue
constructor: (@useCase, @gui, @storage)->
@useCase.on
askForName : @gui.showAskForName
nameProvided : @gui.hideAskForName
greetUser : @gui.showGreetMessage
restart : @gui.hideGreetMessage
@gui.on
restartClicked : @useCase.restart
confirmName : @useCase.nameProvided</code></pre>
This looks very cool, I've recently finished a Javascript application that used AOP for connecting the View to the Model and it rocked. I think I implemented up more or less this framework, but less generic.<p>The name is an issue though, hexagonal.js doesn't seem to have to do anything with what this framework does. If it is a framework that applies AOP to MVC, why not pick a name that relates to that? There isn't even a mention of AOP anywhere in the introduction.
This looks quite neat and the Rails example (<a href="https://github.com/hexagonaljs/rails-example" rel="nofollow">https://github.com/hexagonaljs/rails-example</a>) is interesting. I'll definitely have a play around with it later in my never-ending quest to find JS libraries that don't make me want to snap my computer in half.
How can it be a good thing to follow the MVC framework on both the client side and the server side, as it says in it's philosophy, when the client side is the V in MVC?
There's far too many typos for me to have any amount of confidence in the code itself.<p>Sorry, but I can't trust my business with people who cannot even be bothered to write proper English for their introduction.