htmx VS Stimulus

Compare htmx vs Stimulus and see what are their differences.

htmx

</> htmx - high power tools for HTML (by bigskysoftware)

Stimulus

A modest JavaScript framework for the HTML you already have (by hotwired)
Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
htmx Stimulus
143 44
4,988 10,991
9.7% 1.1%
9.5 8.6
5 days ago 6 days ago
JavaScript TypeScript
BSD 2-clause "Simplified" License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

htmx

Posts with mentions or reviews of htmx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-26.
  • Introducing Giraffe.Htmx
    7 projects | dev.to | 26 Nov 2021
    htmx is a library that brings interactivity to HTML through the use of attributes and HTTP headers. Whereas projects like Vue, Angular, and React prescribe completely different programming paradigms than traditional web development, htmx provides partial-page-swapping and progressive enhancement within straight HTML. This brings a lot of the benefits of the SPA architecture to vanilla HTML, without requiring a completely different paradigm than the one we have used on the web for 30 years. In practice, this greatly reduces the complexity required to produce an interactive web application.
  • How do I access my django variables in javascript file?
    1 project | reddit.com/r/django | 24 Nov 2021
    Your u_form and p_form could be retrieved using htmx, avoiding the use of JavaScript altogether.
  • HATEOAS: An Alternative Explaination
    4 projects | news.ycombinator.com | 22 Nov 2021
    I agree entirely with you and I don't regard it as unfortunate at all that this article shows that HATEOAS is unsuitable for JSON HTTP APIs.

    It is extremely suitable, and, in fact, is simply descriptive, of an HTML-based API, however.

    A lot of my thinking around this comes from my work on htmx, a tool that turns HTML into a richer hypermedia:

    https://htmx.org

    And I am actively encouraging people to try to split their thinking about JSON Data APIs (RPC) and REST-ful HTML-based systems.

    4 projects | news.ycombinator.com | 22 Nov 2021
    The success of the web argues that the hypermedia approach is a good choice for a large set of systems.

    The problem today is that hypermedia development has been stuck in the late-90's/early-00's which, when contrasted with JSON/RPC-based development, is really showing its age, particularly in terms of UX.

    https://htmx.org is an attempt to rectify that situation and get hypermedia-style development back in the game as a viable, modern network architecture for more than just content-oriented web sites.

    4 projects | news.ycombinator.com | 22 Nov 2021
    Yes, I agree entirely. The crux of the issue is that HTML has stalled as a hypermedia for a few decades now, but I am trying to fix that with htmx:

    https://htmx.org

    htmx is the result of my research :)

  • Ask HN: Simplest stack to build web apps in 2021?
    17 projects | news.ycombinator.com | 22 Nov 2021
    > What are its cons?

    Is very pragmatic. That means your whole investment in the arcane ways of JS are dust. Not hipster at all.

    ---

    More seriously, Is of little issues here. You setup and it works, so is not something that lead to "generate content" like other setups.

    I found only a significant issue (to me) (https://github.com/bigskysoftware/htmx/issues/596) but then I do something that have never done in long time with a JS library: I poke into the source and fix it myself. Far easier than expected! (ie: The code is plain!)

    17 projects | news.ycombinator.com | 22 Nov 2021
  • Flask for small projects, Django for bigger ones... but why?
    1 project | reddit.com/r/flask | 22 Nov 2021
    Have you seen https://htmx.org it’s awesome!
  • Only 90s Web Developers Remember This
    2 projects | news.ycombinator.com | 21 Nov 2021
    > Today we have abstractions on top of abstractions on top of JavaScript, of all things.

    from one 90's web developer to another:

    https://htmx.org

    hypermedia 4eva

  • A Reality Where CSS and JavaScript Don't Exist Β· Ugly Duck
    1 project | reddit.com/r/Frontend | 15 Nov 2021
    Check out https://htmx.org if this idea resonates with you.

Stimulus

Posts with mentions or reviews of Stimulus. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-22.
  • Stimulus VS ovee - a user suggested alternative
    2 projects | 22 Nov 2021
  • Requesting early feedback on goliveview(a library to build reactive user interfaces using go, html/template &amp; stimulusjs)
    4 projects | reddit.com/r/golang | 11 Nov 2021
    Low learning curve: For a Go user the only new thing to learn would be https://stimulus.hotwired.dev/
  • Customize Stimulus Attributes, Avoid Conflicts
    1 project | dev.to | 10 Nov 2021
    Stimulus is all about giving you front-end functionality with minimal JavaScript fuss and weight, but in certain cases, its data attributes can run into conflict with other libraries. I've recently made a pull request to add this to their docs, but for anyone else who's encountered this conflict, a little reconfiguration of the library's schema can keep your Stimulus implementation conflict-free.
  • Time Based Greeting With React And Bridgetown
    1 project | dev.to | 10 Nov 2021
    I really like how many of the new JavaScript frameworks encapusalate scripts into components for specific use-cases. Another awesome library that does this is StimulusJS, but let's finish up and put the rest of the pieces together.
  • Upgrade to Stimulus 3, say bye to IE11, and celebrate πŸŽ‰
    4 projects | dev.to | 19 Oct 2021
    Most of our application JavaScript code is already written as Stimulus controllers, the rest being slowly assimilated or removed. Recently, we wanted to upgrade the Stimulus framework to version 3 to gain access to the new cool features, such as:
    4 projects | dev.to | 19 Oct 2021
    To our surprise, we hit a weird and at first confusing error during the Stimulus upgrade process: Uncaught (in promise) TypeError: class constructors must be invoked with 'new'". No controllers worked at all. We double-, triple-checked the configs and all seemed OK. The solution clicked after we read this response on Stack Overflow. Our JS code was transpiled to ES5 but Stimulus itself now uses ES6 as the compile target. So our ES5 controllers could not extend ES6 Stimulus classes.
  • Lazy Load Content in Rails from Scratch
    1 project | dev.to | 17 Oct 2021
    We could just use vanilla JavaScript instead of Stimulus, but Stimulus pairs nicely with Rails and will make it easy to get up and running with this feature quickly.
  • Turbo Frames on Rails
    3 projects | dev.to | 9 Oct 2021
    These events (added in Turbo 7.0.0-rc2) fire each time a frame is loaded or reloaded. Developers can use these events to attach behavior to an element within a frame or animate the entry of a frame element, and they pair nicely with Stimulus.
  • Stimulus.js 3.0
    2 projects | news.ycombinator.com | 26 Sep 2021
    I wish they would change the default font on the Hotwire/Stimulus Reference pages from "Bitter" to something a bit darker, e.g., "Jost".

    https://stimulus.hotwired.dev/

  • We Got to LiveView
    19 projects | news.ycombinator.com | 22 Sep 2021

What are some alternatives?

When comparing htmx and Stimulus you can also consider the following projects:

Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.

react-snap - πŸ‘» Zero-configuration framework-agnostic static prerendering for SPAs

Turbolinks - Turbolinks makes navigating your web application faster

django-unicorn - The magical reactive component framework for Django ✨

turbo - The speed of a single-page web application without having to write any JavaScript

svelte-query - Performant and powerful remote data synchronization for Svelte

phoenix_live_view - Rich, real-time user experiences with server-rendered HTML

django-tables2 - django-tables2 - An app for creating HTML tables

budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes πŸš€

hotwire-rails - Use Hotwire in your Ruby on Rails app

intercooler-js - Making AJAX as easy as anchor tags