A reference application built on Backbone, Marionette, and RequireJS (and also SharePoint, but don't let that scare you away).
There's a double entendre here: it's a reference application in the sense that I'm releasing it to help other developers learn how to structure their applications; but it's also extracted from a whole product line of reference-type applications (phone directories, link pages, etc.) that I'm building for my company's intranet.
This is an example application, more complex than the many To-Do sample apps out there, but still simple enough for one developer to comprehend. I'm putting it out there as a resource.
This is not a finished application that you can drop in place and use as-is. You might be able to use it as a kind of boilerplate to jump-start your development, but it's not really done with that in mind. And it's not a library you'll want to build on top of.
I really mean for it to be primarily a learning resource. I learned a ton of stuff building it, but I also struggled at times because I couldn't find a resource like this. Hopefully I can smooth out the learning curve for someone else.
This app is built on the shoulders of giants:
- Backbone (v0.9.10 or later)
- Marionette (v1.0.0-rc3 or later)
- RequireJS
- RequireJS Text Plugin
- Backbone.SharePoint
- Handlebars
- jQuery (v1.9.1 or later)
- Underscore (v1.4.3 or later)
- Mousetrap
- Toastr (v1.1.2 or later)
- HTML5 Shiv
These are a few resources that I've found particularly helpful:
- Patterns For Large-Scale JavaScript Application Architecture by Addy Osmani
- Marionette Docs
- Backbone Fundamentals by Addy Osmani
- Design Patterns A.K.A. the "Gang of Four book"