I'm also making decision right now and evaluating emberjs and backbone. The emberjs is much clear form me but there is a problem with their template engine http://handlebarsjs.com/ which colide with web2py templates marks {{ }} HandleBars templates are placed in <script> tags so it would be great if I can say somehow that web2py should skip parsing its content as web2py template.
(also the ember data is claimed as not production ready, and thats important for serious project) Something like this: see 'data-web2py-skip='true'' <script id="entry-template" type="text/x-handlebars-template" data-web2py-skip='true'> template content</script>