{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/dev-37signals-com/2024-12-18-announcing-hotwire-spark-live-reloading-for-rails/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "Today, we are releasing [Hotwire Spark](https://github.com/hotwired/spark), a live-reloading system for Rails Applications.\n\nReloading the browser automatically on source changes is a problem that has been well-solved for a long time. Here, we wanted to put an accent on smoothness. If the reload operation is very noticeable, the feedback loop is similar to just reloading the page yourself. But if it’s smooth enough — if you only perceive the intended change — the feedback loop becomes terrific.\n\nTo use, just install the gem in development:\n\n```\ngroup :development do\n  gem \"hotwire-spark\"\nend\n```\n\nIt will update the current page on three types of change: HTML content, CSS, and Stimulus controllers. How do we achieve that desired smoothness with each?\n\n- For **HTML content**, it morphs the `<body>` of the page into the new `<body>`. Also, it disconnects and reconnects all the Stimulus controllers on the page.\n- For **CSS**, it reloads the changed stylesheet.\n- For **Stimulus controllers**, it fetches the changed controller, replaces its module in Stimulus, and reconnects all the controllers.\n\nWe designed Hotwire Spark to shine with the [nobuild approach we use and recommend](https://dev.37signals.com/a-vanilla-rails-stack-is-plenty/). Serving CSS and JS assets as standalone files is ideal when you want to fetch and update only what has changed. There is no need to use bundling or any tooling. Hot Module Replacement for Stimulus controllers without any frontend building tool is pretty cool!\n\n2024 has been a very special year for Rails. We’re thrilled to share Hotwire Spark before the year wraps up.\n\nWishing you all a joyful holiday season and a fantastic start to 2025.\n\nSign up to get posts via email,\\\n or [grab the RSS feed](https://dev.37signals.com/feed/posts.xml).\n",
  "authors": [
    "Jorge Manrubia"
  ],
  "captured_at": "2026-09-19T21:30:23.395188495+00:00",
  "category": "programming",
  "content_html": "<p>Today, we are releasing <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/hotwired/spark\">Hotwire Spark</a>, a live-reloading system for Rails Applications.</p>\n<p>Reloading the browser automatically on source changes is a problem that has been well-solved for a long time. Here, we wanted to put an accent on smoothness. If the reload operation is very noticeable, the feedback loop is similar to just reloading the page yourself. But if it’s smooth enough — if you only perceive the intended change — the feedback loop becomes terrific.</p>\n<p>To use, just install the gem in development:</p>\n<pre><code><span class=\"code-snippet\">group :development do\n  gem &quot;hotwire-spark&quot;\nend\n</span></code></pre>\n<p>It will update the current page on three types of change: HTML content, CSS, and Stimulus controllers. How do we achieve that desired smoothness with each?</p>\n<ul>\n<li>For <strong>HTML content</strong>, it morphs the <code>&lt;body&gt;</code> of the page into the new <code>&lt;body&gt;</code>. Also, it disconnects and reconnects all the Stimulus controllers on the page.</li>\n<li>For <strong>CSS</strong>, it reloads the changed stylesheet.</li>\n<li>For <strong>Stimulus controllers</strong>, it fetches the changed controller, replaces its module in Stimulus, and reconnects all the controllers.</li>\n</ul>\n<p>We designed Hotwire Spark to shine with the <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dev.37signals.com/a-vanilla-rails-stack-is-plenty/\">nobuild approach we use and recommend</a>. Serving CSS and JS assets as standalone files is ideal when you want to fetch and update only what has changed. There is no need to use bundling or any tooling. Hot Module Replacement for Stimulus controllers without any frontend building tool is pretty cool!</p>\n<p>2024 has been a very special year for Rails. We’re thrilled to share Hotwire Spark before the year wraps up.</p>\n<p>Wishing you all a joyful holiday season and a fantastic start to 2025.</p>\n<p>Sign up to get posts via email,<br />\nor <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dev.37signals.com/feed/posts.xml\">grab the RSS feed</a>.</p>\n",
  "content_markdown": "Today, we are releasing [Hotwire Spark](https://github.com/hotwired/spark), a live-reloading system for Rails Applications.\n\nReloading the browser automatically on source changes is a problem that has been well-solved for a long time. Here, we wanted to put an accent on smoothness. If the reload operation is very noticeable, the feedback loop is similar to just reloading the page yourself. But if it’s smooth enough — if you only perceive the intended change — the feedback loop becomes terrific.\n\nTo use, just install the gem in development:\n\n```\ngroup :development do\n  gem \"hotwire-spark\"\nend\n```\n\nIt will update the current page on three types of change: HTML content, CSS, and Stimulus controllers. How do we achieve that desired smoothness with each?\n\n- For **HTML content**, it morphs the `<body>` of the page into the new `<body>`. Also, it disconnects and reconnects all the Stimulus controllers on the page.\n- For **CSS**, it reloads the changed stylesheet.\n- For **Stimulus controllers**, it fetches the changed controller, replaces its module in Stimulus, and reconnects all the controllers.\n\nWe designed Hotwire Spark to shine with the [nobuild approach we use and recommend](https://dev.37signals.com/a-vanilla-rails-stack-is-plenty/). Serving CSS and JS assets as standalone files is ideal when you want to fetch and update only what has changed. There is no need to use bundling or any tooling. Hot Module Replacement for Stimulus controllers without any frontend building tool is pretty cool!\n\n2024 has been a very special year for Rails. We’re thrilled to share Hotwire Spark before the year wraps up.\n\nWishing you all a joyful holiday season and a fantastic start to 2025.\n\nSign up to get posts via email,\\\n or [grab the RSS feed](https://dev.37signals.com/feed/posts.xml).\n",
  "dateCreated": "2026-09-19T21:30:23.395188495+00:00",
  "date_created": "2024-12-18T18:00:00+00:00",
  "date_modified": "2024-12-18T18:00:00+00:00",
  "date_published": "2024-12-18T18:00:00+00:00",
  "description": "Improve your feedback loop with smooth automatic page updates.",
  "external_url": "https://dev.37signals.com/announcing-hotwire-spark-live-reloading-for-rails/",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/dev-37signals-com/2024/12/2024-12-18-announcing-hotwire-spark-live-reloading-for-rails.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/dev-37signals-com/2024/12/2024-12-18-announcing-hotwire-spark-live-reloading-for-rails.md"
  },
  "id": "urn:aggr:item:3b97c742ba756cb0399678246858a382af516b0c",
  "isBasedOn": {
    "@id": "https://dev.37signals.com/announcing-hotwire-spark-live-reloading-for-rails/"
  },
  "mainEntity": {
    "@id": "https://dev.37signals.com/announcing-hotwire-spark-live-reloading-for-rails/",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/dev-37signals-com/2024-12-18-announcing-hotwire-spark-live-reloading-for-rails/#webpage"
    },
    "author": [
      {
        "@type": "Person",
        "name": "Jorge Manrubia"
      }
    ],
    "dateModified": "2024-12-18T18:00:00+00:00",
    "datePublished": "2024-12-18T18:00:00+00:00",
    "headline": "Announcing Hotwire Spark: live reloading for Rails applications",
    "timeRequired": "PT2M",
    "url": "https://dev.37signals.com/announcing-hotwire-spark-live-reloading-for-rails/",
    "wordCount": 272
  },
  "name": "Archived snapshot: Announcing Hotwire Spark: live reloading for Rails applications",
  "preview": null,
  "reading_minutes": 2,
  "replicated_at": null,
  "source": "dev-37signals-com",
  "source_name": "37signals Dev",
  "summary": "Improve your feedback loop with smooth automatic page updates.",
  "tags": [],
  "temporalCoverage": "2026-09-19T21:30:23.395188495+00:00",
  "title": "Announcing Hotwire Spark: live reloading for Rails applications",
  "url": "https://aggr.aymericbeaumet.com/items/dev-37signals-com/2024-12-18-announcing-hotwire-spark-live-reloading-for-rails/",
  "word_count": 272
}