{{ !articles[0].partner.isSponsoringArticle ? "Platinum" : "Portal" }} Partner
css,html5,javascript,tips and tricks

Building Single Page Applications with Backbone.js and Express.js

This Saturday I was doing my first Backbone.js class. It went really fine, except one fact.

I wanted to show the aspects of creating Single Pages Application running on Backbone. Started the application from scratch, we had to spend a lot of time writing some infrastructure code before we even jump to Backbone. So, after the class I decided to create some boilerplate project, so next time we would just clone it from github and start to work.

That's how the backbone-express-spa born.

Backbone.js + Express.js SPA boilerplate

The project is a Express.js application using Backbone.js as front-end framework. The idea is you just simply clone it, remove non needed routes and application and build something on your own.

I won't put to much details in a blog post, since repo neat readme section. Just several facts:

  • Minimal and simple - pure Backbone code, no plugins. For some real needs plugins are required anyway and you are free to include whatever you want.
  • AMD modules with RequireJS - modularity is key factor for large-scale apps, RequireJS
  • Concept of Application - to group all view, models, collection related to one application unit in one place.
  • Handlebars template - using Handlebars as template engine.

Further work

It's not yet completely done. I want to create more meaningful app, show some layouts principles + prepare readme section of building application for production.

I'm also thinking of putting some examples of unit tests both for Express.js and Backbone.js.


Check the backbone-express-spa out. If you like it, please give some stars or shout in twitter. I would be really happy to see some pull requests for improving applications or infrastructure. So, if you want to join - you are welcome!

Published at DZone with permission of {{ articles[0].authors[0].realName }}, DZone MVB. (source)

Opinions expressed by DZone contributors are their own.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks