SproutCore
To celebrate the release of SproutCore version 1.0 I have worked through their tutorial building a simple ToDo application.
Well. Impressive. The people behind it do know how Cocoa works and managed to take its MVC to the web.
The backend becomes a simple RESTful data provider implementing CRUD’s for models, via JSON by default, but it can be any other data format. I used Rails as the backend, but really, Rails as a SproutCore backend seems an overkill – half of the Rails stack is not used. Sinatra with ActiveRecord feels more appropriate.
The only thing is that writing a DataSource, a class responsible for the communication with the backend, requires a bit too much code, more verbose that the code for models, views, and controllers.
Well, now I wish I could do a project with SproutCore.