BackboneJS gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
Backbone.js enforces that communication to the server should be done.
entirely through a RESTful API. The web is currently trending such that all data/content will be exposed through a Web API.
This is because the browser is no longer the only client, we have mobile devices, tablet devices, Google Goggles and electronic fridges etc.
What is Backbone.JS
- Clean, efficient code = Organize code
- base on Model View Controller [MVC]
- Building Single Page Web Applications [SPA]
- Complicated User Interfaces (UI)
- Large Scale Project
- Avoid Repeat JS Codes
- Separation to Data Presentation
- MVC Framework [code modular = reusable module]
- Highly Customization = lots of flexibility
- Lightweight MVC JS
- highly developer community/plugin support
Model is part of your code that retrieves and populates the data,
View is the HTML representation of this model(views change as models change, etc)
Some pros that I discovered with Backbone:
- No more jQuery.data(blah, blah): no need to store data in DOM, store data in models instead
- event binding just works
- extremely useful underscore utility library
- the backbone.js code is well documented and a great read. opened my eyes to a number of JS code techniques.
Related Technologies Skillsets Posts & Articals