It seems to me that ember.js is a better approach to this - much cleaner application model and richer data support with routing and view state.
That said, I'm with you broadly on Javascript+HTML5 on the desktop. Actually just wrote something up around my thoughts on how to do this with Ember.js if folks are interested: