Spine is opinionated in its approach to web application architecture and design. Spine's architecture complements patterns such as de-coupled components and CommonJS modules, markedly helping with code quality and maintainability.
Spine is tiny, the core library comes in at around 600 lines of CoffeeScript. Being lightweight and simple is fundamental to Spine, and it's only dependency is jquery or zepto.
Simplicity - Spine is a minimum possible viable product. It doesn't dictate your views, your HTML or your CSS. It is not a huge framework consisting of twenty different kinds of widgets. The goal is to get out your way; letting you go ahead and do what you do best, build awesome web applications.
Why should you use Spine?
- Built in a real-world environment
- Lightweight controller implementation (based on Backbone's API)
- Full model layer and ORM
- Ajax and HTML5 Local Storage adapters
- Asynchronous server communication
- Works in all major browsers (Chrome, Safari, Firefox, IE >= 9)
- Simple and lightweight
- minimal dependencies
- Very Approachable Source Code
- Great documentation
But don't take our word for it. Take a look at the source of the example applications, and decide for yourself.
Spine - The main library, containing the core classes, such as
Extension Modules - two way binding, routing, model relationship management etc.
Spine Mobile - Spine's mobile extension, letting you easily build mobile and PhoneGap applications currently looking for a maintainer.
Spine.app - The simple way of generating Spine applications.
Hem - Spine's (optional but awesome) dependency manager and development server.
CoffeeScript won't be everyone's cup of tea, and no doubt it'll turn some people off the framework. However, if you've qualms about the language, at least give it a chance and check it out; you should understand what you're missing. CoffeeScript has a lot to offer.
For an introduction to the language, see the The Little Book on CoffeeScript.
Alternatively, you can toggle the language site-wide by using the language selector in the top right of the documentation.
It's for this reason, that Spine's docs read more like guides than raw API documentation, explaining the concepts and context to the solutions Spine brings. The pure API documentation is also available once you're familiar with the library.
If you're new to Spine, you should first check out the four main guides:
Then you should experiment with the getting started guide, learning about generating Spine apps, and using Hem.
Finally it is definitely recommended to browse the source of spine itself as well as the source of some example applications, such as the Todos and Contacts apps.