Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Marionette
Marionette

135
91
+ 1
79
Mithril
Mithril

54
46
+ 1
80
Add tool

Marionette vs Mithril: What are the differences?

Marionette: Make your Backbone applications dance. Marionette brings an application architecture to Backbone, along with built in view management and memory management. 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 applications; Mithril: Client-side MVC framework - a tool to organize code in a way that is easy to think about and to maintain. Mithril is around 12kb gzipped thanks to its small, focused, API. It provides a templating engine with a virtual DOM diff implementation for performant rendering, utilities for high-level modelling via functional composition, as well as support for routing and componentization.

Marionette and Mithril can be categorized as "Javascript MVC Frameworks" tools.

"Uses Backbone" is the top reason why over 19 developers like Marionette, while over 15 developers mention "Lightweight" as the leading cause for choosing Mithril.

Marionette and Mithril are both open source tools. It seems that Mithril with 11.3K GitHub stars and 863 forks on GitHub has more adoption than Marionette with 7.15K GitHub stars and 1.35K GitHub forks.

Zinc, Sonarr, and Kayako are some of the popular companies that use Marionette, whereas Mithril is used by Dial Once, Cloud Vlts, Inc., and SpartanGeek. Marionette has a broader approval, being mentioned in 35 company stacks & 9 developers stacks; compared to Mithril, which is listed in 5 company stacks and 5 developer stacks.

What is Marionette?

It is a JavaScript library with a RESTful JSON interface and is based on the Model–view–presenter application design paradigm. Backbone is known for being lightweight, as its only hard dependency is on one JavaScript library, Underscore.js, plus jQuery for use of the full library.

What is Mithril?

Mithril is around 12kb gzipped thanks to its small, focused, API. It provides a templating engine with a virtual DOM diff implementation for performant rendering, utilities for high-level modelling via functional composition, as well as support for routing and componentization.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Marionette?
Why do developers choose Mithril?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
      Be the first to leave a con
      What companies use Marionette?
      What companies use Mithril?

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Marionette?
      What tools integrate with Mithril?
      What are some alternatives to Marionette and Mithril?
      AngularJS
      AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
      Puppet Labs
      Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
      Vue.js
      It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
      Backbone.js
      Backbone supplies structure to JavaScript-heavy applications by providing models key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.
      Angular 2
      Angular is a development platform for building mobile and desktop web applications.
      See all alternatives
      Decisions about Marionette and Mithril
      Dan Robinson
      Dan Robinson
      at Heap, Inc. · | 18 upvotes · 110.8K views
      atHeapHeap
      MobX
      MobX
      React
      React
      TypeScript
      TypeScript
      Marionette
      Marionette
      Backbone.js
      Backbone.js
      jQuery
      jQuery
      #TemplatingLanguagesExtensions
      #JavascriptMvcFrameworks
      #Libraries
      #JavascriptUiLibraries

      The front end for Heap begun to grow unwieldy. The original jQuery pieces became difficult to maintain and scale, and a decision was made to introduce Backbone.js, Marionette, and TypeScript. Ultimately this ended up being a “detour” in the search for a scalable and maintainable front-end solution. The system did allow for developers to reuse components efficiently, but adding features was a difficult process, and it eventually became a bottleneck in advancing the product.

      Today, the Heap product consists primarily of a customer-facing dashboard powered by React, MobX, and TypeScript on the front end. We wrote our migration to React and MobX in detail last year here.

      #JavascriptUiLibraries #Libraries #JavascriptMvcFrameworks #TemplatingLanguagesExtensions

      See more
      Marcos Iglesias
      Marcos Iglesias
      Sr. Software Engineer at Eventbrite · | 13 upvotes · 47.3K views
      atEventbrite-0Eventbrite-0
      React
      React
      Redux
      Redux
      Flux
      Flux
      Marionette
      Marionette
      Backbone.js
      Backbone.js

      We are in the middle of a change of the stack on the front end. So we used Backbone.js with Marionette. Then we also created our own implementation of a Flux kind of flow. We call it eb-flux. We have worked with Marionette for a long time. Then at some point we start evolving and end up having a kind of Redux.js-style architecture, but with Marionette.

      But then maybe one and a half years ago, we started moving into React and that's why we created the Eventbrite design system. It's a really nice project that probably could be open sourced. It's a library of components for our React components.

      With the help of that library, we are building our new stack with React and sometimes Redux when it's necessary.

      See more
      Interest over time
      Reviews of Marionette and Mithril
      No reviews found
      How developers use Marionette and Mithril
      Avatar of Ascendify
      Ascendify uses MarionetteMarionette

      Backbone.Marionette is a composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications.

      How much does Marionette cost?
      How much does Mithril cost?
      Pricing unavailable
      Pricing unavailable
      News about Marionette
      More news
      News about Mithril
      More news