Join Kai Gittens for an in-depth discussion in this video Understanding Backbone and other Model-View-Controller (MVC) libraries, part of Up and Running with Backbone.js.
They have large communities behind them, books written about them, and lots of plugins written for them. I'll be completely honest and say that the frameworks can be easier to use than the libraries and I want you to take a look at them when you can. But, as this is a Backbone course, I'm going to point out the benefits that Backbone has when compared to these other options. Because it's a library instead of a framework, the biggest advantage that Backbone has over the others is that it's highly customizable.
Frameworks usually require you do things their way if you want to use them within your site of web app. You have to configure their code pretty much exactly as they tell you to, leaving little room for flexibility. Backbone doesn't do that. You really just need to utilize the components and their pre-defined properties and methods. But that's really it. This leaves you with a lot of room for flexibility. In this case we say that Backbone is unopinionated. Backbone is also one of the most lightweight, among all the frameworks and libraries.
When the code is reduced to its smallest usable form, it's file size is just over six kilobytes. Meaning that it will load onto your webpage very quickly. Backbone also has one of the most extensive communities built around it. A web search will turn up multiple articles, documentation and plugins that focus specifically on Backbone. Now, I need to be fair and say that other frameworks are catching up to Backbone, Angular in particular. But while Backbone wasn't the first, it was one of the first to become popular.
It's because of this, that the Backbone community is a more extensive, in terms of community help, user groups and having a wide array of plugins available to it.
- What is Backbone.js?
- Understanding how MVC libraries work
- Adding properties to a model
- Creating a collection of models
- Adding properties to a model view
- Loading model data on a web page
- Configuring routes
- Finding Backbone resources