top | item 2599413

Show HN: Todos: Backbone.js example + Google App Engine (Python)

38 points| ccarpenterg | 15 years ago |github.com | reply

10 comments

order
[+] eddieplan9|15 years ago|reply
I did a similar simple Todos application using Backbone.js + CouchDB:

https://github.com/edc/backbone-sample

It's about 80 lines of CoffeeScript and 0 lines of server side code.

CouchDB's RESTful API makes it a really natural choice for storage backend for Backbone-powered applications.

[+] cosmorocket|15 years ago|reply
Thanks for the demo and source. I am trying out Backbone and GAE too. What I wonder about and asked on StackOverflow but didn't get a clear answer is how to join together Backbone on the client side and ProtoRPC on the server side. Do you have any ideas? Thanks.
[+] joetyson|15 years ago|reply
There isn't really a mapping between backbones models and protorpc. Backbone.js assumes the model layer is RESTful where protorpc assumes you will make method calls, each via a POST call.

I'm interested in what a model layer would look like using protorpc. One idea is to take a similar path of abstraction as the underlying appengine datastore api does: use protocol buffers to express an "entity". So you might have:

    { 
      entity_type: 'Book',
      entity_fields: [ 
        { 
          field_type: int,
          field_name: 'title',
          required: true
        }
      ]
    }
This would be a proto definition called, "Entity". From here you could build procedure calls that send entities for doing common routines, such as updates, or deletes. If you can make a structure like this work, you can build an api with javascript which hides the protobufs from you all together.. When you call Model.get('Book').create({title: 'My book'}), it constructs the Entity protobuf and calls the remote call for creating a new entity.

Just an idea! Also - protorpc is in fresh development, so it's a good idea to join the discussion group and make suggestions: https://groups.google.com/forum/#!forum/google-protorpc-disc...

[+] preek|15 years ago|reply
This is actually great work! What licence will you apply to the source code?
[+] ccarpenterg|15 years ago|reply
Thanks. Well I'm not sure. Anyway the Backbone.js app and design (html/css/img) was contributed by Jérôme Gravel-Niquet (http://jgn.me/) to be included as an example into the Backbone.js repository. All the credits for him.

I just commented one line and added other one to the Backbone.js app. And I've developed the whole GAE application.

[+] rgbrgb|15 years ago|reply
Weird, I just did this exact same thing yesterday for another GAE/Backbone.js app! In my case I was using Flask though.