When it comes to the approach to web application design and architecture, Spine is very opinionated. The architecture works to complement patterns like CommonJS modules, and decoupled components, which help with both code quality as well as maintainability.
Spine is also pretty small, with the core library having about 600 lines of CoffeeScript. Being so simple and lightweight is fundamental to Spine, and the only dependency it has is zepto or jquery.
- Simplicity – Spine offers maximum possible viable product. This means it never dictates your views, CSS, or HTM. It is not a massive framework that has dozens of different widgets. The goal is to just get out of the way to allow you to let go and do what it is that you do best, like building great web applications.
Why Should You Think About Using Spine?
- Real world environment built in
- Controller implementation that is lightweight, originally based upon Backbone’s API
- ORM and full model layer
- HTML5 and Ajax local storage adapters
- Asynchronous server communication
- Works for all major browsers like Safari, Firefox, Chrome and IE >= 9
- Lightweight and simple
- Approachable source code
- Minimal dependencies
- Wonderful documentation
But, you should never take our word for it, just look at the source of example applications and you can decide for yourself.
- Spine – You will find the main library has the core classes like Controller and Model
- Extension Modules – Routing, two way binding, model relationship management and more
- Spine Mobile – This is the mobile extension, allowing you to easily build your PhoneGap and mobile applications that are currently searching for a maintainer
- Spine.app – This is an easy way for you to generate spine applications
- Hem – This is Spine’s optional dependency manager/development server
CoffeScript may not be for everyone and there is no doubt that some people will turn off the framework. However, if there are any issues with the language, you can give it a chance and check it out. It is important to know what you are missing, as CoffeeScript has a whole lot to offer.
See the Little Book for CoffeeScript if you want more information on the language.
Spine is fairly straightforward. The library is small and you will find API minimal. The concepts can be a bit tricky at first, as dealing with everything client side can all be a bit of a learning curve. For this very reason, the docs will read more like a guide than raw API documentation. Once you are familiar with the library, pure API documentation is also available.
For anyone new to Spine, check out these guides:
You can then experiment with getting started and learning more about generating apps and using HEM.
Download it here -> http://oreilly.com/catalog/0636920018421