There's other advantages too. Testing the server is a lot easier; all its doing is returning JSON blobs. The server is easy to scale since it's doing so little; in my case I started down this path because Google App Engine doesn't really have a good way to do server-side graphs. Caching is easier; generic JSON business objects instead of some over-customized generated HTML. And the JSON API the server implements can be used for other presentations.