Make your Backbone.js apps dance!
The Backbone framework
All of the documentation for Marionette can be found at
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.
We're happy to discuss design patterns and learn how you're 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
Applicationand modules that attach to it
- Compose your application's visuals at runtime, with the
- Nested views and layouts within visual regions
- Built-in memory management and zombie-killing in views, regions and layoutViews
- Event-driven architecture with
- Flexible, "as-needed" architecture allowing you to pick and choose what you need
- And much, much more
- Visualize the view hierarchy with the UI tree
- Visualize application activity with a full history of actions
- Inspect view ui, events, listeners, properties
- Inspect model attributes, listeners, properties
- Explore Radio channel events, requests, commands
- Explore application with an inspector magnifying glass
- Jump between the inspector elements and source panel with intelligent links
You can download the latest builds directly from the "lib" folder above. For more information about the files in this folder, or to obtain an archive containing all Marionette dependencies (including Underscore, Backbone, etc.), please visit the downloads section on the website.
Marionette is available via bower, npm, and component.io. There are other channels that are maintained by the community.
Changelog: For change logs and release notes, see the changelog file.
Upgrade Guide: Be sure to read the upgrade guide for information on upgrading to the latest version of Marionette.
The source code for Marionette is heavily documented. You can read the annotations for all the details of how Marionette works, and advice on which methods to override.
MarionetteJS currently works with the following libraries:
- jQuery v1.8+
- Underscore v1.4.4 - 1.6.0
- Backbone v1.0.0 - 1.1.2 are preferred.
- Backbone.Wreqr Comes automatically with the bundled build.
- Backbone.BabySitter Comes automatically with the bundled build.
Marionette has not been tested against any other versions of these libraries. You may or may not have success if you use a version other than what is listed here.
If you would like to contribute to Marionette's source code, please read the guidelines for pull requests and contributions. Following these guidelines will help make your contributions easier to bring into the next release.
Report issues with Marionette, submit pull requests to fix problems, or to create summarized and documented feature requests (preferably with pull requests that implement the feature).