This is not a technical answer like the other answers, but it will give you different perspectives.
You should definitely use Backbone or another client-side platform, because speed matters to the user. The faster the experience, the more time people will spend on your site. People do not like to wait, and people are more engaged when something is fast. There are a few things that kill an engagement faster than waiting.
Why the highway?
You are already familiar with MVC, so this is nothing new. With an MVVC framework like knockout, you have to spend time looking for this template.
This is one of the most popular client frameworks. Many people use it, and there are tons of resources to help you learn. I gave a list of companies using it in production: http://www.quora.com/Can-we-get-a-poweredby-list-of-sproutcore-javascriptmvc-backbone-js-individually
Since this is the most popular client structure compared to others (Sproutcore / Amber.js, Spine, Knockout.js, Cappucino, etc.), there is a lot of documentation.
As for the template engine, I recommend you not to worry about anything other than John Resig micro templates, which are already part of underscore.js (which is the only hard dependency except jQuery or Zepto.js). Raise another template engine - another moving part, to worry about the fact that it really is not so important. It is also trivial to switch from one template engine to another. Switching is half a day for a two-day project for a small to medium sized project.
source share