Get Advice Icon

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

AngularJS
AngularJS

19.1K
11.6K
+ 1
5.2K
Marionette
Marionette

135
91
+ 1
79
Add tool

AngularJS vs Marionette: What are the differences?

Developers describe AngularJS as "Superheroic JavaScript MVW Framework". 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. On the other hand, Marionette is detailed as "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.

AngularJS and Marionette belong to "Javascript MVC Frameworks" category of the tech stack.

"Quick to develop" is the primary reason why developers consider AngularJS over the competitors, whereas "Uses Backbone" was stated as the key factor in picking Marionette.

AngularJS and Marionette are both open source tools. It seems that AngularJS with 59.6K GitHub stars and 28.9K forks on GitHub has more adoption than Marionette with 7.15K GitHub stars and 1.35K GitHub forks.

InVisionApp, Intel, and imgix are some of the popular companies that use AngularJS, whereas Marionette is used by Zinc, Sonarr, and Kayako. AngularJS has a broader approval, being mentioned in 2799 company stacks & 1860 developers stacks; compared to Marionette, which is listed in 35 company stacks and 9 developer stacks.

What is 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.

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.
Get Advice Icon

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

Why do developers choose AngularJS?
Why do developers choose Marionette?

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

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

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

    What tools integrate with AngularJS?
    What tools integrate with Marionette?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to AngularJS and Marionette?
    JavaScript
    JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
    Angular 2
    Angular is a development platform for building mobile and desktop web applications.
    React
    Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
    Node.js
    Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
    jQuery
    jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
    See all alternatives
    Decisions about AngularJS and Marionette
    Dan Robinson
    Dan Robinson
    at Heap, Inc. · | 18 upvotes · 110.7K 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
    Jake Stein
    Jake Stein
    CEO at Stitch · | 15 upvotes · 74.6K views
    atStitchStitch
    ES6
    ES6
    JavaScript
    JavaScript
    CoffeeScript
    CoffeeScript
    React
    React
    AngularJS
    AngularJS

    Stitch’s frontend is used to configure data sources and destinations and monitor the status of each. Although we have been using AngularJS since its early days, we recently introduced React components into our front end, which many of our developers find easier to work with. We started using CoffeeScript when it was one of the few options for a more expressive alternative to vanilla JavaScript, but today we opt to instead write new code in ES6, which we feel is a more mature alternative.

    See more
    Marcos Iglesias
    Marcos Iglesias
    Sr. Software Engineer at Eventbrite · | 13 upvotes · 47.2K 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
    Spenser Coke
    Spenser Coke
    Product Engineer at Loanlink.de · | 8 upvotes · 132.5K views
    atLoanlink GmbhLoanlink Gmbh
    HTML5
    HTML5
    Vue.js
    Vue.js
    Google Drive
    Google Drive
    Mailchimp
    Mailchimp
    Zapier
    Zapier
    Trello
    Trello
    GitHub
    GitHub
    React
    React
    Node.js
    Node.js
    .NET
    .NET
    AngularJS
    AngularJS
    Rails
    Rails

    When starting a new company and building a new product w/ limited engineering we chose to optimize for expertise and rapid development, landing on Rails API, w/ AngularJS on the front.

    The reality is that we're building a CRUD app, so we considered going w/ vanilla Rails MVC to optimize velocity early on (it may not be sexy, but it gets the job done). Instead, we opted to split the codebase to allow for a richer front-end experience, focus on skill specificity when hiring, and give us the flexibility to be consumed by multiple clients in the future.

    We also considered .NET core or Node.js for the API layer, and React on the front-end, but our experiences dealing with mature Node APIs and the rapid-fire changes that comes with state management in React-land put us off, given our level of experience with those tools.

    We're using GitHub and Trello to track issues and projects, and a plethora of other tools to help the operational team, like Zapier, MailChimp, Google Drive with some basic Vue.js & HTML5 apps for smaller internal-facing web projects.

    See more
    Arik Fraimovich
    Arik Fraimovich
    Vue.js
    Vue.js
    React
    React
    Angular 2
    Angular 2
    AngularJS
    AngularJS

    When Redash was created 5 years ago we chose AngularJS as our frontend framework, but as AngularJS was replaced by Angular 2 we had to make a new choice. We decided that we won't migrate to Angular, but to either React or Vue.js. Eventually we decided to migrate to React for the following reasons:

    1. Many in our community are already using React internally and will be able to contribute.
    2. Using react2angular we can do the migration gradually over time instead of having to invest in a big rewrite while halting feature development.

    So far the gradual strategy pays off and in the last 3 major releases we already shipped React code in the Angular.js application.

    See more
    Adam Rabinovitch
    Adam Rabinovitch
    Global Technical Recruiting Lead & Engineering Evangelist at Beamery · | 3 upvotes · 28.6K views
    atBeameryBeamery
    Polymer
    Polymer
    Aurelia
    Aurelia
    Vue.js
    Vue.js
    Angular 2
    Angular 2
    React
    React
    AngularJS
    AngularJS
    #Hiring

    At Beamery we had a large, AngularJS app, built over several years. Our clients were happy, but we were not. We had several problems: Building new features was slow. AngularJS doesn’t scale nicely. Features clash with each other. Isolation doesn’t come as standard, you have to work hard to keep features separate. It takes time to get it right. #Hiring was hard, for all the reasons listed above. The app was slower than it needed to be because AngularJS was never built for speed. We wanted to render half a million contacts, and Angular was fighting us all the way.

    As time went by it become harder to find developers who would willingly choose AngularJS over React Angular 2 , Vue.js , Aurelia or Polymer .

    So we faced a choice. We could throw it all away and start again, we could upgrade to Angular 5, or the awesome option - we could use micro frontends. We chose the awesome option.

    See more
    Apache Cordova
    Apache Cordova
    redux-saga
    redux-saga
    React Native
    React Native
    AngularJS
    AngularJS
    Redux
    Redux
    React
    React
    #JavascriptMvcFrameworks

    We had contemplated a long time which #JavascriptMvcFrameworks to use, React and React Native vs AngularJS and Apache Cordova in both web and mobile. Eventually we chose react over angular since it was quicker to learn, less code for simple apps and quicker integration of third party javascript modules. for the full MVC we added Redux.js for state management and redux-saga for async calls and logic. since we also have mobile app along with the web, we can shere logic and model between web and mobile.

    See more
    Gianluca Bargelli
    Gianluca Bargelli
    MobX
    MobX
    Redux
    Redux
    AngularJS
    AngularJS
    React
    React

    We started rebuilding our dashboard components using React from AngularJS over 3 years ago and, in order to have predictable client-side state management we introduced Redux.js inside our stack because of the popularity it gained inside the JavaScript community; that said, the number of lines of codes needed to implement even the simplest form was unnecessarily high, from a simple form to a more complex component like our team management page.

    By switching our state management to MobX we removed approximately 40% of our boilerplate code and simplified our front-end development flow, which in the ends allowed us to focus more into product features rather than architectural choices.

    See more
    .NET Core
    .NET Core
    React
    React
    AngularJS
    AngularJS
    TypeScript
    TypeScript

    I use TypeScript because it's adoption by many developers, it's supported by many companies, and it's growth. AngularJS, React, @ASP.NET Core. I started using it in .NET Core, then for a job. Later I added more Angular experience and wrote more React software. It makes your code easier to understand and read... which means it makes other people's code easier to understand and read.

    See more
    Rafael Santos
    Rafael Santos
    CTO at Decision6 · | 11 upvotes · 13.7K views
    atDecision6Decision6
    Vue.js
    Vue.js
    React
    React
    AngularJS
    AngularJS

    Back in 2015, my company had a back-office dashboard that was originally built in AngularJS 1. Since Angular 2 presented drastic changes we decided to rethink the options and we looked at React and Vue.js. Besides, at the time, Vue had basically only one developer, its structure (100% oriented to components) and also its backward compatibility focus (Angular 1 to 2 no more) we preferred it against React cause it seemed more straightforward, clean and with a small learning curve. Now 4-5 years later we are very happy with our choice.

    See more
    Interest over time
    Reviews of AngularJS and Marionette
    No reviews found
    How developers use AngularJS and Marionette
    Avatar of shridhardalavi
    shridhardalavi uses AngularJSAngularJS

    AngularJS is a structural framework for dynamic web apps. With AngularJS, designers can use HTML as the template language and it allows for the extension of HTML's syntax to convey the application's components effortlessly. Angular makes much of the code you would otherwise have to write completely redundant. We can use Angular to build any kind of app, taking advantage of features like: Two-way binding, templating, RESTful api handling, modularization, AJAX handling, dependency injection, etc

    Avatar of Kalibrr
    Kalibrr uses AngularJSAngularJS

    All of our frontend code is on AngularJS. Directives, controllers, and services really help in organizing code in order to keep things maintainable, and two-way binding makes data input easy. The large ecosystem of modules for directives is fantastic, too.

    Avatar of Nikola Novakovic
    Nikola Novakovic uses AngularJSAngularJS

    When ever I need heavy user client side apps this is my tool of choice. There are a ton of JS frameworks out there, picked this one because of philosophy they are trying to put out there and great community. Two way data binding FTW!

    Avatar of Yaakov Gesher
    Yaakov Gesher uses AngularJSAngularJS

    The front end was built on an Angular template supplied by the client. We leveraged Angular's flexibility and speed to delivered complex matrices of data quickly and with great finesse.

    Avatar of InJoin
    InJoin uses AngularJSAngularJS

    We use Angular.js to build our front-end framework known as Frontkit, so our apps can get started faster with reliable, interactive components.

    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 AngularJS cost?
    How much does Marionette cost?
    Pricing unavailable
    Pricing unavailable
    News about Marionette
    More news