This Doc is build for developers so that it's easier to read and examine Marionettejs v1.8.0 doc. Built using Gitbook.
Backbone.Marionette is a composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications. It is a collection of common design and implementation patterns found in the applications that I (Derick Bailey) have been building with Backbone, and includes various pieces inspired by composite application architectures, such as Microsoft's "Prism" framework.
Backbone provides a great set of building blocks for our JavaScript applications. It gives us the core constructs that are needed to build small apps, organize jQuery DOM events, or create single page apps that support mobile devices and large scale enterprise needs. But Backbone is not a complete framework. It's a set of building blocks. It leaves much of the application design, architecture and scalability to the developer, including memory management, view management, and more.
Marionette brings an application architecture to Backbone, along with built in view management and memory management. It's designed to be a lightweight and flexible library of tools that sits on top of Backbone, providing the framework for building a scalable application.
Like Backbone itself, you're not required to use all of Marionette just because you want to use some of it. You can pick and choose which features you want to use. This allows you to work with other Backbone frameworks and plugins easily. It also means that you are not required to engage in an all-or-nothing migration to begin using Marionette.
- Scalable: applications are built in modules, and with event-driven architecture
- Sensible defaults: Underscore templates are used for view rendering
- Easily modifiable: make it work with your application's specific needs
- Reduce boilerplate for views, with specialized view types
- Build on a modular architecture with an
Application
and modules that attach to it - Compose your application's visuals at runtime, with the
Region
andLayout
objects - Nested views and layouts within visual regions
- Built-in memory management and zombie-killing in views, regions and layouts
- Event-driven architecture with
Backbone.Wreqr.EventAggregator
- Flexible, "as-needed" architecture allowing you to pick and choose what you need
- And much, much more