Preface; Target Audience; Credits; Reading; Conventions Used in This Book; Using Code Examples; SafariĀ® Books Online; How to Contact Us; Acknowledgments;Chapter 1: Introduction; 1.1 What Is MVC?; 1.2 What Is Backbone.js?; 1.3 When Do I Need a JavaScript MVC Framework?; 1.4 Why Consider Backbone.js?; 1.5 Setting Expectations;Chapter 2: Fundamentals; 2.
1 MVC; 2.2 What Does MVC Give Us?; 2.3 Fast Facts;Chapter 3: Backbone Basics; 3.1 Getting Set Up; 3.2 Models; 3.3 Views; 3.4 Collections; 3.5 RESTful Persistence; 3.
6 Events; 3.7 Routers; 3.8 Backbone's Sync API; 3.9 Dependencies; 3.10 Summary;Chapter 4: Exercise 1: Todos--Your First Backbone.js App; 4.1 Static HTML; 4.2 Todo Model; 4.
3 Todo Collection; 4.4 Application View; 4.5 Individual TodoView; 4.6 Startup; 4.7 In Action; 4.8 Completing and Deleting Todos; 4.9 Todo Routing; 4.10 Summary;Chapter 5: Exercise 2: Book Library--Your First RESTful Backbone.
js App; 5.1 Setting Up; 5.2 Wiring in the Interface; 5.3 Creating the Backend; 5.4 Talking to the Server; 5.5 Summary;Chapter 6: Backbone Extensions; 6.1 MarionetteJS (Backbone.Marionette); 6.
2 Thorax; 6.3 Summary;Chapter 7: Common Problems and Solutions; 7.1 Working with Nested Views; 7.2 Managing Models in Nested Views; 7.3 Rendering a Parent View from a Child View; 7.4 Disposing View Hierarchies; 7.5 Rendering View Hierarchies; 7.6 Working with Nested Models or Collections; 7.
7 Better Model Property Validation; 7.8 Avoiding Conflicts with Multiple Backbone Versions; 7.9 Building Model and View Hierarchies; 7.10 Event Aggregators and Mediators;Chapter 8: Modular Development; 8.1 Organizing Modules with RequireJS and AMD; 8.2 Summary;Chapter 9: Exercise 3: Your First Modular Backbone and RequireJS App; 9.1 Overview; 9.2 Markup; 9.
3 Configuration Options; 9.4 Modularizing Our Models, Views, and Collections; 9.5 Route-Based Module Loading; 9.6 An Asset Package Alternative for Dependency Management;Chapter 10: Paginating Backbone.js Requests and Collections; 10.1 Backbone.Paginator; 10.2 Paginator.
requestPager; 10.3 Paginator.clientPager;Chapter 11: Backbone Boilerplate and Grunt-BBB; 11.1 Getting Started; 11.2 Creating a New Project; 11.3 Other Useful Tools and Projects; 11.4 Summary;Chapter 12: Backbone and jQuery Mobile; 12.1 Mobile App Development with jQuery Mobile; 12.
2 Basic Backbone App Setup for jQuery Mobile; 12.3 Workflow with Backbone and jQueryMobile; 12.4 Applying Advanced jQM Techniques to Backbone;Chapter 13: Jasmine; 13.1 Behavior-Driven Development; 13.2 Suites, Specs, and Spies; 13.3 beforeEach() and afterEach(); 13.4 Shared Scope; 13.5 Getting Set Up; 13.
6 TDD with Backbone; 13.7 Models; 13.8 Collections; 13.9 Views; 13.10 Exercise; 13.11 Further Reading; 13.12 Summary;Chapter 14: QUnit; 14.1 Getting Set Up; 14.
2 Assertions; 14.3 Adding Structure to Assertions; 14.4 Assertion Examples; 14.5 Fixtures; 14.6 Asynchronous Code;Chapter 15: SinonJS; 15.1 What Is SinonJS?; 15.2 Stubs and Mocks; 15.3 Exercise; 15.
4 Further Reading and Resources;Chapter 16: Conclusions;Further Learning; A Simple JavaScript MVC Implementation; MVP; MVP or MVC?; MVC, MVP, and Backbone.js; Namespacing; Backbone Dependency Details; Backbone Versus Other Libraries and Frameworks;Resources; Books and Courses; Extensions/Libraries;Colophon;.