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 library comes in at around 600 lines of CoffeeScript. Being lightweight and simple is fundamental to Spine.
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 baked in
- Asynchronous server communication
- Works in all major browsers (Chrome, Safari, Firefox, IE >= 9)
- Spine Mobile extension
- Simple and lightweight
- 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
Spine Mobile - Spine's mobile extension, letting you easily build mobile and PhoneGap applications.
Spine.app - The simple way of generating Spine applications.
Hem - Spine's (optional but awesome) dependency manager and server.
CoffeeScript won't be everyone's cup of tea, and I've no doubt it'll turn some people off the framework. However, if you've qualms about the language, I urge you to at least give it a chance and check it out; you should understand what you're missing. I personally think CoffeeScript is a complete revolution in web development.
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 I'd definitely recommend browsing the source of the example applications, such as the Todos and Contacts apps.