Welcome to the #resistance.

Stimulus Connect is the release tracker and news aggregator for Stimulus and its surrounding ecosystem, including StimulusReflex and CableReady.

Angry Bear
Welcome to the #resistance.

We were told complex is the new "normal"

Many of us remember learning HTML, CSS and jQuery from View Source in simpler times. As Single Page App frameworks became more popular, we gradually accepted a revolving door of build tools, transpilers, task runners, module systems and other rabbit holes of anti-productive bike-shedding as the way things had to be to build "modern" applications.

In an alarmingly short time, SPA usage escalated from "does this project justify it" to "which one to choose" to "you're a dinosaur if you don't embrace progress". Except, is it progress... or are the inmates running the asylum?

We were told server-rendered majestic monoliths are "dead"

The bill for managing needless layers of abstraction is paid for by developers. We were tricked into giving up tools designed for happiness in favor of shuttling JSON payloads and contorting our logic to prioritize securely synchronizing client state with the server. How much time and energy could we save if the client DOM was a live, dynamic view of our application state?

We were told SPAs are "faster"

Faster for who? The web is getting slower, especially for people with older hardware. And with the ratcheting complexity of the JS ecosystem, it's just assumed that you need multiple teams to build anything real. Meanwhile, there's simply no truth to the claim that SPAs are inherently faster than a server-rendered experience.

We've been deceived by accounts receivable

In a world where everything is complex, the infrastructure constantly shifts and bigger teams need to work longer, the owners increase their profits. We let Facebook and Google convince us that their problems are our problems. We didn't challenge the wisdom of training new developers to favor tools offered by tax-dodging corporations who want to control the future.

All out of bubblegum, so it's time to kick ass

Stimulus — the Velvet Underground of JS frameworks — was released quietly several years ago. As developers increasingly wonder if they should just git reset --hard on last 5-10 years of front-end, Stimulus is winning hearts.

It offers a compelling path forward for jQuery developers while presenting a legitimate, powerful alternative to SPAs like React and Vue. Stimulus can be paired with Turbolinks and works with every back-end technology.

On the server side, Rails developers can use StimulusReflex to quickly build reactive applications. It uses CableReady to send updates to the client over-the-wire using the ActionCable websockets framework.

Stimulus Connect, where the #resistance gathers

This site actively tracks the momentum and expansion of the Stimulus universe. It provides the learning resources a developer needs to get up to speed. It offers a comprehensive, searchable index of Stimulus controllers you can use in your projects. It aggregates all of the news and updates about Stimulus and related technologies.

Login above with Github to customize the site, suggest new content and more to come. While we love Ruby on Rails, if you're not a Rails developer, you can filter out non-JS content and that's 100% fine.

While there is an official Stimulus Discourse forum, you can typically get help with your projects much faster on Discord.

It's great to have you with us, comrade. Welcome to the #resistance.

Tutorial

A Future for Rails: StimulusReflex

While StimulusReflex is not intended to be a way to write less JavaScript, the author might be excited to know that they could refactor this example to use zero JavaScript.

actioncablechatstimulusreflex

StimulusJS: Finding out the state of other controllers

A clever approach to shared state... although one that possibly falls down if you have multiple instances.

callbackscommunicationstimulus

Post

Autocomplete in Ruby on Rails using Stimulus

As an added bonus you can easily change the Stimulus controller so that it gets its API URL from a data attribute instead of having it hard coded in the controller itself.

autocompleterails

Tweet

Suan-Aik Yeo

herokurailsstimulusreflexsurplus

Post

Writing better Stimulus controllers

You can compose multiple Stimulus controllers together to mix-and-match functionality and create more complex interactions.

javascriptrailsstimuluswebdev

Recently Updated

New Releases

Search by Tag

Swiperactioncableajaxanimated-numberapp-bridgeaudioautocompleteautosavebehaviorbindingbootstrapbulmacablecablereadycallbackscarouselcharacter-counterchatchattercheck-allcheckboxcheckbox-select-allcommandscommunicationcomponentscompositioncontrollerdata-bindingdatatablesdevelopmentdistance-from-nowdjangodomelementseventexistenceflatpickrformgetaddress.iogridheaderhelpersherokuheyhidehotkeysimageinputiosjavascriptjerksjestkeystrokelazylightboxlightgallerymapsmodalmorphdommp3on/offoverlaypaginationparticles.jsplaceholderpopoverprogress-barrailsrails-remoterails-ujsreactivereflexremoteresponsiverevealrollup-pluginrollup.jsrubyscroll-progressshopifyshortcutshowsliderssoundspeedssrstickystimulusstimulus-controllerstimulus-jsstimulus-reflexstimulus-togglestimulus.jsstimulus_reflexstimulusjsstimulusreflexstripestripe.jssurplusswiperjsswitchtabletabstailwindcsstestingtextareatime-agotippytoggletransitionsturbolinksujsuppercaseutilitesutilityuxvalidationwebdevwebsockets