<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alpine-Js - Tag - Botmonster Tech</title><link>https://botmonster.com/tags/alpine-js/</link><description>Alpine-Js - Tag - Botmonster Tech</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 21 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://botmonster.com/tags/alpine-js/" rel="self" type="application/rss+xml"/><item><title>HTMX + Alpine.js: 35KB Interactive UIs, Zero Build Step</title><link>https://botmonster.com/web-dev/htmx-alpine-js-build-interactive-uis-without-build-step/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><author>Botmonster</author><guid>https://botmonster.com/web-dev/htmx-alpine-js-build-interactive-uis-without-build-step/</guid><description><![CDATA[<div class="featured-image">
                <img src="/htmx-alpine-js-build-interactive-uis-without-build-step.png" referrerpolicy="no-referrer">
            </div><p>Combine <a href="https://htmx.org/" target="_blank" rel="noopener noreferrer ">HTMX</a>
 (version 2.0.4, about 14KB gzipped) with <a href="https://alpinejs.dev/" target="_blank" rel="noopener noreferrer ">Alpine.js</a>
 (version 3.15.9, about 17KB gzipped). You get a full interactive web stack for 31KB total. No Webpack. No Vite. No Node.js. No build step. Drop two <code>&lt;script&gt;</code> tags in your HTML, sprinkle a few attributes on your markup, and let any backend serve HTML fragments. That&rsquo;s the whole setup.</p>
<p>The split is clean. HTMX drives server-side partial updates. Alpine.js covers light client reactivity. The server returns HTML, not JSON. The browser swaps it into the page. Alpine.js attributes in the markup handle toggles, dropdowns, and modals. No compile step sits between you and your running app.</p>]]></description></item></channel></rss>