• Stars
    star
    7,077
  • Rank 5,235 (Top 0.2 %)
  • Language
    JavaScript
  • License
    Other
  • Created over 12 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Backbone Framework

Marionette.js

The Backbone Framework

Coverage Status Gitter Chat

Cross Browser Testing

Marionette v5

Marionette is dropping its dependency on Backbone. That library is available here: https://github.com/marionettejs/marionette Until further notices changes to backbone.marionette will be limited to fixes. All new feature work will take place on marionette.

Marionette v4

Marionette 4 is now available! See our upgrade notes for the differences between v3 and v4. Please let us know if you encounter any issues so we can resolve them and help us continue work on Marionette!

About Marionette

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 applications.

Documentation

All of the documentation for Marionette can be found at

App Architecture On Backbone's Building Blocks

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.

Chat with us

Find us on gitter.

We're happy to discuss design patterns and learn how you're using Marionette.

Key Benefits

  • Scalable: applications built in modules with event-driven architecture
  • Sensible defaults: Underscore templates are used for view rendering
  • Easily modifiable: works with the specific needs of your application
  • Reduce boilerplate: for all views, including specialized types
  • Create: application visuals at runtime with Region and View objects
  • Nested: Views and CollectionViews within visual regions
  • Built-in: memory management and zombie-killing for Views, CollectionViewsa and Regions
  • Event-driven architecture: utilizing Backbone.Radio
  • Flexible: "as-needed" architecture allowing you to pick and choose what you need
  • And much, much more

Source Code and Downloads

You can download the latest builds directly or visit the downloads section on the Marionette website for more downloading options.

NPM and Bower

Marionette is available via bower and npm:

# NPM
npm install backbone.marionette

# Bower
bower install marionette

Release Notes And Upgrade Guide

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.

Annotated Source Code

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.

Compatibility and Requirements

MarionetteJS currently works with the following libraries:

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.

How to Contribute

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).

More Repositories

1

backbone.syphon

Serialize a Backbone.View in to a JavaScript object.
JavaScript
499
star
2

backbone.radio

Messaging patterns for Backbone applications.
JavaScript
493
star
3

backbone.babysitter

Manage child views for your Backbone.View (and other parents)
JavaScript
378
star
4

backbone.wreqr

Messaging patterns for Backbone applications.
JavaScript
346
star
5

bbclonemail

[ Deprecated ] A Marionette.js reference application, cloning basic GMail features
JavaScript
219
star
6

marionette.inspector

πŸ” Marionette Inspector - Explore your App
JavaScript
171
star
7

marionette-integrations

A collection of starter kits for building Marionette Applications
JavaScript
118
star
8

backbone.eventbinder

❌ [Deprecated] Manage Backbone Events Better
JavaScript
79
star
9

Marionette.Upgrade

Helps you upgrade your marionette apps from 1.x ➑️ 2.x
Python
42
star
10

backbone-metal

Classes, Mixins, Errors, and more.
JavaScript
31
star
11

guides

Learn how to build web apps using Marionette
27
star
12

backbone.marionette.async

❌ [Deprecated] Asynchronous template loading, rendering and more, for Backbone.Marionette
JavaScript
27
star
13

marionettejs.com

🚩 Source files for the Marionette site
Pug
26
star
14

marionette

JavaScript
22
star
15

marionette-v3-compat

Transitional monkey patch to make Marionette v3 compatible with v2.
JavaScript
8
star
16

www

❌ [deprecated] The old Marionette website
JavaScript
6
star
17

marionette.approuter

Extends the Backbone.Router to make it easier to construct a large number of routes for your app.
JavaScript
5
star
18

blog

πŸ“ Blog for Marionettejs.com (hosted on the gh-pages branch)
CSS
4
star
19

marionette.oldcollectionview

Legacy Marionette v3 CollectionView and CompositeView
JavaScript
2
star
20

marionette.module

The (deprecated) Marionette.Module Class as a standalone library.
JavaScript
2
star
21

marionette.templatecache

Renderer which provides a cache for retrieving templates from script blocks in your HTML. This improved the speed of subsequent calls to get a template.
JavaScript
2
star
22

backbone-emulate-collection

Proxies underscore events to match a Backbone.Collection
JavaScript
1
star