The main idea is to split the code into 2 sets of classes: Models and Views. A Model is responsible to handle all data of specified component. It loads, saves and represents it for a View. A View is rather a controller to handle UI, render widgets and specify actions for a Model to provide any changes. You can use any front-end HTML templates system within Backbone Views.
As I said above, Backbone is just a set of approaches to organize complicated project in robust way and a bunch of source code to help with it. On the other hand, it doesn’t cover all Application Development aspects on the client side. A lot of standard things should be implement by hand. Wait, it doesn’t look like good idea. There is Marionette [http://marionettejs.com] framework available as solution. So, you can stay away of reinventing the wheel and spend time on business logic and cool visual features. Marionette simplifies your Backbone application code with robust views and architecture solutions, provides lists, layouts, subviews and communication between components.
HTML5 mobile applications
Alternatives, pros and cons