Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Flatiron TODO example #5

jfhbrook opened this Issue · 31 comments

The core parts of Flatiron (broadway, union, etc.) have enough documentation that you can infer generally how flatiron works, but flatiron itself has no documentation. In particular, the functionality of the baked-in plugins needs documenting.


I agree with this
is it possible to explain how this flatiron works?
because I cant see the different with the broadway as a middleware


The short answer is that its plugin system is based on broadway so that aspect should look the same.


Heads-up: A simple http example was added in d34cdb2.


I think a large/lengthy overview of using flatiron to build a blog would be ideal. Coming into the main flatiron page I was confused by all the modules and what problems they are actually solving. Nodeup episode 7's intro to flatiron is more informative than the website. To get me up to speed I learn much faster when I can look at a familiar project (a simple blog) and see how all the pieces fit together.


+1 To the original point, we document all of the pieces but have no complete docs on how to use them all together. The site gives snippets for the components but none for the whole.


I would love to see some examples. I'm going to try it out as a replacement for Express and actual code snippets could help a lot.


I've been experimenting with backbone some over the past few weeks. Flatiron.js could act as a client-side/server-side replacement? If so would be great to see the backbone todo-app example converted :)


For the client-side aspects, a todo example could be added to @addyosmani TodoMVC project:

But I agree that a more in depth example would be very nice to see.


If so would be great to see the backbone todo-app example converted

A capital idea.


@tauren @jesusabdullah If someone familiar with Flatiron would be willing to put together a version using our boilerplate for Todo apps I'm sure we could consider including it.


@tauren good to know, good place to put it :)

From what I've gathered flatiron doesn't have all the parts needed to build a todo-app, specifically event bindings/delegation for the client-side DOM which backbone/spine would have baked-in.

Anyone from the node-itsu want to weigh in on general thoughts/approaches to writing a todo example? If I have time I may take a shot at it and would be great to have some pointers/hints for things to keep in mind.


You could definitely build a todo app with flatiron, though it would probably look different from a backbone version. In fact, you may find backbone and flatiron to be complimentary.


@jesusabdullah curious, would you have to make the decision to use backbone's router versus flatiron's? Or use backbone on client-side and use flatiron on server? So many choices :)


Not sure! I actually don't have much backbone experience. How "swappable" is backbone's router? My intuition is to not try and "tear out" parts of backbone, and to use flatiron components on the client only to compliment backbone instead of replacing it. That said, part of the fun of flatiron is that you get to make these choices!


You could elect to use director over backbone's router and it wouldn't be an issue as Backbone doesn't force you into their router.

I've thought about this some more and they could work together, just don't know if it is the best approach.


In that case, I would imagine that it's a matter of taste. Personally, I'd love to see an example where backbone's router is swapped out with director even if it's often not the first choice.


I'll love to see how it works all together in client/server side, 'cause there is some examples on how works on server or client, but not in both sites. Its just confusing me of how need to work with flatiron


Are there any working examples of http applications built on flatiron? Would be extremely useful as reference for the framework and the resource-presenter-view architecture in practice.


Would be interesting to see an actual app using flatiron.


I went to the #nodejitsu irc channel and did get pointed at one example, which you can find here -


Thanks!!! Gonna dig into that!


@autoric great find, thanks!


Is that a great find? It doesn't show the use of any component except, implicitly, Director. Where's an example of using Flatiron + Plates?


Think it is better than nothing. I don't mind that the example uses handlebars as that is what I'm accustomed to with other projects.

Maybe we should organize a wiki-list of other github projects using various components so people can see how other items are being used.


Unfortunately it does not show the use of Plates or many of the other flatiron modules. I would love to find or see some examples that do - but so far haven't been able to. I know the nodejitsu team uses flatiron internally, but realistically I don't think the framework is ready for widespread use at this examples will be hard to find.

--I should amend my comment to say that the framework as a whole does not feel ready to me. Some modules are in excellent shape, others seem farther behind. That's probably going to be reflected in the examples we can find.


I wrote, some of you may find it useful.


@addyosmani commented on the todomvc issue a week ago:

Looks like this one might not end up getting rewritten for a while. Please feel free to re-open when the framework is ready for primetime :)

So, is it ready for primetime on the client?

@jesusabdullah's article is great for figuring out the server side use of Flatiron, as was this blog post. In contrast, I haven't found any examples of using Flatiron client side.

There's also been a lot of talk about isomorphic JavaScript, but I've yet to see a working example of a server/client isomorphic Flatiron app.


We are working on it. We still have a few more steps to go to make it completely isomorphic.

klh commented

..a year ago guys...


...two years and counting...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.