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

Marko

20
43
+ 1
39
Stimulus

72
80
+ 1
14
Add tool

Marko vs Stimulus: What are the differences?

Developers describe Marko as "An isomorphic UI framework similar to Vue". Marko is a really fast and lightweight HTML-based templating engine that compiles templates to readable Node.js-compatible JavaScript modules, and it works on the server and in the browser. It supports streaming, async rendering and custom tags. On the other hand, Stimulus is detailed as "A modest JavaScript framework for the HTML you already have, by Basecamp". Stimulus is a JavaScript framework with modest ambitions. It doesn't seek to take over your entire front-end—in fact, it's not concerned with rendering HTML at all.

Marko and Stimulus belong to "Javascript UI Libraries" category of the tech stack.

"No JSX" is the primary reason why developers consider Marko over the competitors, whereas "Simple and easy to start with" was stated as the key factor in picking Stimulus.

Marko and Stimulus are both open source tools. Marko with 9.08K GitHub stars and 565 forks on GitHub appears to be more popular than Stimulus with 7.36K GitHub stars and 181 GitHub forks.

Decisions about Marko and Stimulus
Hampton Catlin
VP of Engineering at Rent The Runway · | 7 upvotes · 177.1K views

Starting a new company in 2020, with a whole new stack, is a really interesting opportunity for me to look back over the last 20 years of my career with web software and make the right decision for my company.

And, I went with the most radical decision– which is to ignore "sexy" / "hype" technologies almost entirely, and go back to a stack that I first used over 15 years ago.

For my purposes, we are building a video streaming platform, where I wanted rapid customer-facing feature development, high testability, simple scaling, and ease of hiring great, experienced talent. To be clear, our web platform is NOT responsible for handling the actual bits and bytes of the video itself, that's an entirely different stack. It simply needs to manage the business rules and the customers experience of the video content.

I reviewed a lot of different technologies, but none of them seemed to fit the bill as well as Rails did! The hype train had long left the station with Rails, and the community is a little more sparse than it was previously. And, to be honest, Ruby was the language that was easiest for developers, but I find that most languages out there have adopted many of it's innovations for ease of use – or at least corrected their own.

Even with all of that, Rails still seems like the best framework for developing web applications that are no more complex than they need to be. And that's key to me, because it's very easy to go use React and Redux and GraphQL and a whole host of AWS Lamba's to power my blog... but you simply don't actually NEED that.

There are two choices I made in our stack that were new for me personally, and very different than what I would have chosen even 5 years ago.

1) Postgres - I decided to switch from MySql to Postgres for this project. I wanted to use UUID's instead of numeric primary keys, and knew I'd have a couple places where better JSON/object support would be key. Mysql remains far more popular, but almost every developer I respect has switched and preferred Postgres with a strong passion. It's not "sexy" but it's considered "better".

2) Stimulus.js - This was definitely the biggest and wildest choice to make. Stimulus is a Javascript framework by my old friend Sam Stephenson (Prototype.js, rbenv, turbolinks) and DHH, and it is a sort of radical declaration that your Javascript in the browser can be both powerful and modern AND simple. It leans heavily on the belief that HTML-is-good and that data-* attributes are good. It focuses on the actions and interactions and not on the rendering aspects. It took me a while to wrap my head around, and I still have to remind myself, that server-side-HTML is how you solve many problems with this stack, and avoid trying to re-render things just in the browser. So far, I'm happy with this choice, but it is definitely a radical departure from the current trends.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Marko
Pros of Stimulus
  • 6
    Simplicity
  • 5
    Better than React, Vue, etc
  • 5
    Speed
  • 5
    No JSX
  • 4
    Components
  • 4
    Performance
  • 4
    HTML markup
  • 2
    Data Flow
  • 1
    Documentation
  • 1
    Low CPU cost
  • 1
    Isomorphic
  • 1
    Virtual DOM
  • 5
    Simple and easy to start with
  • 4
    No Javascript on Backend
  • 3
    Balance between Front End and BackEnd
  • 2
    Easy way to add functionality to rails views

Sign up to add or upvote prosMake informed product decisions

Cons of Marko
Cons of Stimulus
  • 1
    Extensibility
  • 1
    Unit test
  • 1
    Mobile native
  • 2
    Steep learning curve

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Marko?

Marko is a really fast and lightweight HTML-based templating engine that compiles templates to readable Node.js-compatible JavaScript modules, and it works on the server and in the browser. It supports streaming, async rendering and custom tags.

What is Stimulus?

Stimulus is a JavaScript framework with modest ambitions. It doesn't seek to take over your entire front-end—in fact, it's not concerned with rendering HTML at all.

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

What companies use Marko?
What companies use Stimulus?
See which teams inside your own company are using Marko or Stimulus.
Sign up for Private StackShareLearn More

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

What tools integrate with Marko?
What tools integrate with Stimulus?
    No integrations found
    What are some alternatives to Marko and Stimulus?
    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.
    Svelte
    If you've ever built a JavaScript application, the chances are you've encountered – or at least heard of – frameworks like React, Angular, Vue and Ractive. Like Svelte, these tools all share a goal of making it easy to build slick interactive user interfaces. Rather than interpreting your application code at run time, your app is converted into ideal JavaScript at build time. That means you don't pay the performance cost of the framework's abstractions, or incur a penalty when your app first loads.
    Handlebars.js
    Handlebars.js is an extension to the Mustache templating language created by Chris Wanstrath. Handlebars.js and Mustache are both logicless templating languages that keep the view and the code separated like we all know they should be.
    Pug
    This project was formerly known as "Jade." Pug is a high performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers.
    jQuery
    jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
    See all alternatives