Index
A
- AMD style
- attributes
- about / Attributes, options, and properties
- versus properties / Attributes, options, and properties
B
- Backbone
- about / What is Backbone?
- major tools / What is Backbone?
- reasons, for selecting / Why choose Backbone?
- benefits / Full User Interface Asset Control, Simpler Data Management and Event Triggers, Enhanced performance
- competitors / Backbone and Its Competitors
- routers enable single-page applications / Backbone routers enable single-page applications
- resources / Further reading
- URL, for source code / Further reading
- URL, for wiki / Further reading
- URL, for tutorials / Further reading
- Backbone.history object / Backbone.history
- Backbone.js
- reference link, for advantages / Further reading
- Backbone classes
- extending / Extending Backbone classes
- Backbone ecosystem
- about / The Backbone ecosystem
- Backbone Google Group
- URL / Further reading
- Backbone Paginator
- Backbone sub-feed, on Reddit
- URL / Further reading
- BackGrid
- Backgrid.js
- tables, rendering with / Rendering tables with Backgrid.js
- BackSupport
- BackSupport, features
- extend2 / Making life easier with BackSupport
- boundMethods / Making life easier with BackSupport
- propertyOptions / Making life easier with BackSupport
- requiredOptions / Making life easier with BackSupport
- render / Making life easier with BackSupport
- bandwidth-related performance issues
- about / Bandwidth-related performance issues
- excessively large files, downloading / Downloading excessively large files
- excessive number of files, downloading / Downloading excessive number of files
- BDD
- versus TDD / TDD versus BDD: What's the difference?
- beforeEach function / Describe, beforeEach, and it
- Bower
- external dependency management / External dependency management with Bower
- URL / External dependency management with Bower
C
- class constructor
- overriding / Overriding a class constructor
- class mixins
- about / Class mixins
- class system, JavaScript
- about / JavaScript's class system
- CoffeeScript
- URL / New syntax with CoffeeScript
- features / New syntax with CoffeeScript
- key differences / New syntax with CoffeeScript
- Collection
- events / Available events
- Collection.model
- as factory method / Collection.model as a factory method
- Collections
- working with / Working with Collections
- and Models / Collections and Models
- resetting / Adding to and resetting Collections
- Views, connecting to / Connecting Views to Models and Collections
- Common JS
- CPU-related performance issues
- about / CPU-related performance issues
- custom events
- about / Custom events
D
- defaults method, Underscore / Extend and defaults
- dependency management, RequireJS / Dependency management with RequireJS
- describe function / Describe, beforeEach, and it
- Docco
- documentation
- about / Backbone and documentation
- approaches / Documentation approaches
- Don't Repeat Yourself (DRY) principle / Class mixins
- Dzone
- URL / Further reading
E
- each method, Underscore / Each, Map, and Reduce
- el element, Views
- accessing / Accessing a View's el element
- Embedded JS
- event delegation
- about / Event delegation
- events
- listening for / Listening for events
- custom events / Custom events
- about / Events
- add / Events
- remove / Events
- reset / Events
- sort / Events
- sync / Events
- error / Events
- invalid / Events
- handling / Handling events
- routing / Routing events
- events, Collection
- add / Available events
- remove / Available events
- reset / Available events
- events, Models
- about / Available events
- change / Available events
- change*attribute / Available events
- destroy / Available events
- request / Available events
- sync / Available events
- error / Available events
- invalid / Available events
- Expect.js, GitHub page
- extend method, Underscore / Extend and defaults
- external dependency management, Bower / External dependency management with Bower
- extraction methods
- about / Extraction methods
F
- functions, Mocha
- describe / Describe, beforeEach, and it
- beforeEach / Describe, beforeEach, and it
- it / Describe, beforeEach, and it
G
- garbage collector
- getters
- about / Getters and setters
- Grunt
- tasks, automating with / Automating tasks with Grunt
H
- Handlebars
- templating with / Templating with Handlebars
- URL / Templating with Handlebars
- Hogan.js
I
- indexing
- about / Indexing
- invoke method, Underscore / Pluck and invoke
- it function / Describe, beforeEach, and it
J
- JavaScript
- class system / JavaScript's class system
- JavaServer Pages (JSPs)
- JSDoc
L
- libraries
- widgets, wrapping of / Wrapping widgets of other libraries
- Lobsters
- URL / Further reading
M
- major tools, Backbone
- class system / What is Backbone?
- Model class / What is Backbone?
- Collection class / What is Backbone?
- View class / What is Backbone?
- Router class / What is Backbone?
- map method, Underscore / Each, Map, and Reduce
- memory-related performance issues
- methods
- using / Methods in place of properties
- methods, Underscore
- about / Underscore methods
- each / Underscore methods
- map / Underscore methods
- reduce / Underscore methods
- reduceRight / Underscore methods
- find / Underscore methods
- filter / Underscore methods
- reject / Underscore methods
- every / Underscore methods
- some / Underscore methods
- contains / Underscore methods
- invoke / Underscore methods
- max / Underscore methods
- min / Underscore methods
- sortBy / Underscore methods
- groupBy / Underscore methods
- shuffle / Underscore methods
- toArray / Underscore methods
- size / Underscore methods
- first / Underscore methods
- initial / Underscore methods
- rest / Underscore methods
- last / Underscore methods
- without / Underscore methods
- indexOf / Underscore methods
- lastIndexOf / Underscore methods
- isEmpty / Underscore methods
- chain / Underscore methods
- pluck / Underscore methods
- where / Underscore methods
- findWhere / Underscore methods
- Mocha
- about / Getting started with Mocha
- Mocha, GitHub page
- mocks
- about / Introducing mocks
- Models
- about / The purpose of Models
- advantages / The purpose of Models
- events / Available events
- and Collections / Collections and Models
- Views, connecting to / Connecting Views to Models and Collections
- modes, Backbone Paginator
- client / Paginating with Backbone Paginator
- server / Paginating with Backbone Paginator
- infinite / Paginating with Backbone Paginator
- multiple Routers / Multiple routers
- Mustache
N
- new keyword
- about / The new keyword
- Nightwatch.js
- URL / Selenium
- non-documentation
- benefits, for other approaches / Benefits of non-documentation for other approaches
- non-documentation approach
- about / The non-documentation approach
O
- object-oriented programming (OOP)
- options
- options, Views
- tagName / Instantiating Views
- className / Instantiating Views
- id / Instantiating Views
- attributes / Instantiating Views
- ordering methods
- about / Ordering methods
P
- pages
- versus routes / Differences between routes and pages
- page views
- about / Page views
- paginating, with Backbone Paginator / Paginating with Backbone Paginator
- parameters
- about / Route styles
- parent methods
- applying / Applying parent methods
- performance
- about / Backbone and performance
- performance issues
- causes / Causes of performance issues
- pluck method, Underscore / Pluck and invoke
- properties
- about / Attributes, options, and properties
- versus attributes / Attributes, options, and properties
- prototypal inheritance
- about / Prototypal inheritance
- publish/subscribe
- about / Publish/subscribe
Q
- Quora
- URL / Further reading
R
- redirects / Redirects
- reduce method, Underscore / Each, Map, and Reduce
- render considerations
- about / Other render considerations
- child views / Child views
- repeatable, versus one-time renders / Repeatable versus one-time renders
- return value / Return value – this or this.$el
- rendering strategies
- about / Rendering strategies
- simple templating / Simple templating
- advanced templating / Advanced templating
- logic-based / Logic-based
- combined approach / The combined approach
- RequireJS
- dependency management / Dependency management with RequireJS
- URL / Dependency management with RequireJS
- robust documentation approach
- Router
- working / How Routers work
- creating / Creating a new Router
- routers enable single-page applications / Backbone routers enable single-page applications
- routes
- versus pages / Differences between routes and pages
- creating / Creating routes
- route styles
- about / Route styles
- routing
- conflicts / A note about routing conflicts
S
- 404s error / 404s and other errors
- Selenium
- server-side actions
- about / Server-side actions, Server-side actions
- URLs, storing on client / Storing URLs on the client
- identifications / Identification
- data, fetching from server / Fetching data from the server
- data, saving to server / Saving data to the server
- validations / Validation
- setters
- about / Getters and setters
- simple documentation approach
- single-page application (SPA)
- Sinon.js
- URL / Introducing mocks
- sorting
- about / Sorting
- splats
- about / Route styles
- Stack Overflow
- URL / Further reading
- Syapse
- about / Backbone and Its Competitors, What's Syapse?, The 10,000-foot view
- URL / What's Syapse?
- View layer / The View layer
- Data layer / The Data layer
- Support layer / The Support layer
- building / Building your own Syapse
T
- tables
- rendering, with Backgrid.js / Rendering tables with Backgrid.js
- tasks
- automating, with Grunt / Automating tasks with Grunt
- TDD
- versus BDD / TDD versus BDD: What's the difference?
- templating, with Handlebars / Templating with Handlebars
- test
- running / Running our test
- testing, in JavaScript
- about / Testing in JavaScript?
- testing capabilities, modern web application
- requisites / Which library to use
- testing methods
- about / Testing methods
- trailing slashes / Trailing slashes
U
- Underscore
- about / Introducing Underscore, Return of Underscore
- URL / More Underscore, Further reading
- each method / Each, Map, and Reduce
- map method / Each, Map, and Reduce
- reduce method / Each, Map, and Reduce
- extend method / Extend and defaults
- defaults method / Extend and defaults
- pluck method / Pluck and invoke
- invoke method / Pluck and invoke
- methods / Underscore methods, Previously mentioned methods
- unit testing framework
- selecting / Testing in JavaScript?
V
- $Variable names
- about / A brief aside on $Variable names
- Views
- about / Views are the core of Backbone-powered sites
- instantiating / Instantiating Views
- view content, rendering / Rendering view content
- connecting, to Models / Connecting Views to Models and Collections
- connecting, to Collections / Connecting Views to Models and Collections
- el element, accessing / Accessing a View's el element
- $Variable names / A brief aside on $Variable names
W
- web development
- history / A Brief History of Web Development
- widgets
- wrapping, of libraries / Wrapping widgets of other libraries
- World Wide Web (WWW) / What is Backbone?