Spine Mobile is a lightweight framework on top of Spine for building mobile JavaScript web applications. What makes Spine Mobile stand out from the competition is attention to detail. User experience comes before all else, and Spine Mobile applications strive for a native feel; they shouldn't give a discernibly different feel than applications built in Objective C or Java.

So what's the motivation behind building this framework, surely developers should just learn native technologies? Well, I think there's a number of compelling reasons, such as exposing mobile applications to more developers, cross platform porting, and ease of development. Technologies such as HTML & CSS were designed for developing interfaces, and they're absolutely fantastic at doing so. There's no technological reason why HTML apps can't give as good or better an experience than native technologies.



currency.io has been ported to a Spine Mobile application. You can find the source for it here on GitHub, and see a live demo on Heroku. The live demo is best viewed on a iOS 5.0 device.


There's also a demo of an app called Global Guide, although unfortunately the source isn't available.


The most straightforward way of building Spine Mobile apps is with Hem, Spine.app, GFX and jQuery. The first step, is to install all the required npm modules.

If you haven't got them installed already, you'll need Node and npm. Then run:

npm install -g spine spine.app hem

Spine.app will generate an initial project structure for you using the mobile generator:

spine mobile ./myapp

Now, cd into your project directory, and install the local npm modules:

cd ./myapp
npm install .

Right - now we're good to go. Let's start up the Hem server:

hem server

And browse to our application. For more information about Spine.app or Hem, see their respective guides.

Next steps

Now you've got Spine Mobile all setup, it's time to start learning more about the framework. You should start by reading the Controllers, Transitions and Events guides, as well as looking at the example applications.