This change notice is filed against an issue that was committed in October, 2012.

After much debate and weighing of pros and cons, the Drupal community came to the conclusion to include Backbone.js and Underscore.js in Drupal 8 core. These projects are available as libraries

// Underscore. $libraries['underscore'] = array( 'title' => 'Underscore.js', 'website' => 'http://underscorejs.org/', 'version' => '1.4.0', 'js' => array( 'core/assets/vendor/underscore/underscore.js' => array('group' => JS_LIBRARY, 'weight' => -20), ), ); // Backbone. $libraries['backbone'] = array( 'title' => 'Backbone.js', 'website' => 'http://backbonejs.org/', 'version' => '0.9.2', 'js' => array( 'core/assets/vendor/backbone/backbone.js' => array('group' => JS_LIBRARY, 'weight' => -19), ), 'dependencies' => array( array('system', 'underscore'), ), );

Already, the Edit, Toolbar and Contextual modules are leveraging Backbone. With solid support for REST in Drupal 8 core, Backbone will be even more valuable as a layer between the end user and Drupal.

Just as Drupal decided to include jQuery in Drupal core in 2006 (in #69786: Pave the way for integration of jQuery into core), we have again chosen to bundle with well-built, well-documented and well-adopted third-party front end libraries. Having common libraries that provide utilities and an organizing framework for front end applications will encourage common coding practices among contributed modules. We hope this will lead to more cross-collaboration among projects. Perhaps we will even contribute upstream to Backbone.js and Underscore.js as our use of them deepens.

See the Backbone module for examples of data requesting and manipulation.