Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marionettejs/backbone.marionette
The Backbone Framework
https://github.com/marionettejs/backbone.marionette
backbone backbone-framework framework frontend javascript marionette marionettejs
Last synced: 10 days ago
JSON representation
The Backbone Framework
- Host: GitHub
- URL: https://github.com/marionettejs/backbone.marionette
- Owner: marionettejs
- License: other
- Created: 2011-12-12T16:36:09.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2024-09-26T21:56:29.000Z (about 1 month ago)
- Last Synced: 2024-10-25T04:47:20.711Z (15 days ago)
- Topics: backbone, backbone-framework, framework, frontend, javascript, marionette, marionettejs
- Language: JavaScript
- Homepage: https://marionettejs.com
- Size: 12 MB
- Stars: 7,064
- Watchers: 278
- Forks: 1,261
- Open Issues: 38
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- Contributing: CONTRIBUTING.md
- License: license.txt
Awesome Lists containing this project
- awesome-javascript - backbone.marionette - The Backbone Framework - ★ 7164 (MVC Frameworks and Libraries)
- awesome-javascript - marionette - A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications. (MVC Frameworks and Libraries / Runner)
- awesome-marionette - Github repository
README
Marionette.js
The Backbone Framework
# 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](https://marionettejs.com/docs/v4.0.0/upgrade-v3-v4.html) 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!](https://github.com/marionettejs/backbone.marionette/milestones/v4.x)## 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
##### [marionettejs.com/docs/current](http://marionettejs.com/docs/current)
### 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](https://gitter.im/marionettejs/backbone.marionette).
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: `View`s and `CollectionView`s within visual regions
* Built-in: memory management and zombie-killing for `View`s, `CollectionViews`a and `Region`s
* 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](https://github.com/marionettejs/backbone.marionette/tree/master/lib)
or visit the [downloads section on the Marionette website](http://marionettejs.com#download)
for more downloading options.#### [MarionetteJS.com](http://marionettejs.com#download)
### NPM and Bower
Marionette is available via bower and npm:
```bash
# NPM
npm install backbone.marionette# Bower
bower install marionette
```## Release Notes And Upgrade Guide
**Changelog**: For change logs and release notes, see the
[changelog](changelog.md) file.**Upgrade Guide**: Be sure to read [the upgrade guide](upgradeGuide.md)
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.##### [View the annotated source code](http://marionettejs.com/annotated-src/backbone.marionette)
## Compatibility and Requirements
MarionetteJS currently works with the following libraries:
* [jQuery](http://jquery.com) v1.8+
* [Underscore](http://underscorejs.org) v1.8.3 - v1.9.x
* [Backbone](http://backbonejs.org) v1.3.3
* [Backbone.Radio](https://github.com/marionettejs/backbone.radio) v2.0.0+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](CONTRIBUTING.md).
Following these guidelines will help make your contributions easier to
bring into the next release.### [Github Issues](https://github.com/marionettejs/backbone.marionette/issues)
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).