Description
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. Instead, it's designed to augment your HTML with just enough behavior to make it shine. Stimulus pairs beautifully with Turbolinks to provide a complete solution for fast, compelling applications with a minimal amount of effort.
How does it work? Sprinkle your HTML with magic controller, target, and action attributes:
Stimulus alternatives and similar libraries
Based on the "MVC Frameworks and Libraries" category.
Alternatively, view Stimulus alternatives based on common mentions on social networks and blogs.
-
react
A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM. -
svelte
Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM. -
Alpine.js
offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. -
marionette
A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications. -
derby
MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers. -
donejs
DoneJS is an open source JavaScript framework that makes it easy to build high performance, real-time web and mobile applications. -
finity
A finite state machine library for Node.js and the browser with a friendly configuration DSL. -
makefun
Use promise values as they are satisfied otherwise wait for the promise
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Stimulus or a related project?
README
Stimulus
A modest JavaScript framework for the HTML you already have
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. Instead, it's designed to augment your HTML with just enough behavior to make it shine. Stimulus pairs beautifully with Turbolinks to provide a complete solution for fast, compelling applications with a minimal amount of effort.
How does it work? Sprinkle your HTML with controller, target, and action attributes:
<div data-controller="hello">
<input data-hello-target="name" type="text">
<button data-action="click->hello#greet">Greet</button>
<span data-hello-target="output"></span>
</div>
Then write a compatible controller. Stimulus brings it to life automatically:
// hello_controller.js
import { Controller } from "stimulus"
export default class extends Controller {
static targets = [ "name", "output" ]
greet() {
this.outputTarget.textContent =
`Hello, ${this.nameTarget.value}!`
}
}
Stimulus continuously watches the page, kicking in as soon as attributes appear or disappear. It works with any update to the DOM, regardless of whether it comes from a full page load, a Turbolinks page change, or an Ajax request. Stimulus manages the whole lifecycle.
You can write your first controller in five minutes by following along in the Stimulus Handbook.
You can read more about why we created this new framework in The Origin of Stimulus.
Installing Stimulus
Stimulus integrates with the webpack asset packager to automatically load controller files from a folder in your app.
You can use Stimulus with other asset packaging systems, too. And if you prefer no build step at all, just drop a <script>
tag on the page and get right down to business.
See the Installation Guide for detailed instructions.
Getting Help & Contributing Back
Looking for the docs? Once you've read through the Handbook, consult the Stimulus Reference for API details.
Have a question about Stimulus? Connect with other Stimulus developers on the Stimulus Discourse community forum.
Find a bug? Head over to our issue tracker and we'll do our best to help. We love pull requests, too!
We expect all Stimulus contributors to abide by the terms of our [Code of Conduct](CODE_OF_CONDUCT.md).
Acknowledgments
Stimulus is [MIT-licensed](LICENSE.md) open-source software from Basecamp, the creators of Ruby on Rails.
Continuous integration is generously provided by open-source grants from CircleCI and Sauce Labs.
© 2020 Basecamp, LLC.
*Note that all licence references and agreements mentioned in the Stimulus README section above
are relevant to that project's source code only.