Pernah lihat aplikasi React modern yang ribet banget setup-nya? Webpack, Babel, npm, build pipeline, hydration, hooks, state management — semua itu cuma untuk bikin tombol nge-load data dari server. HTMX balik ke akar: AJAX langsung dari HTML, gak perlu nulis JavaScript sama sekali. Tambah hx-get="/api/users" di tombol = button kirim request, server balikin HTML, HTMX inject ke DOM. Selesai. Tanpa build, tanpa SPA complexity, tanpa ribuan baris JavaScript.
💡 Hypermedia revolution. HTMX dibikin Carson Gross tahun 2020 — terinspirasi prinsip web orisinal (links + forms + HTML response). Trending banget di 2024-2025 sebagai antithesis dari "SPA everything". Cocok buat backend dev (Rails, Django, Laravel, PHP) yang gak mau ribet sama React stack tapi tetap mau interaktivity modern.
Kenapa HTMX?
- No Build Step — Tambahkan satu
<script>tag dan langsung pakai - Server Returns HTML — Bukan JSON, tapi HTML fragment
- Progressive Enhancement — Website tetap bekerja tanpa JS
- Hypermedia-driven — Kembali ke prinsip dasar web
Cara Kerja
<script src="https://unpkg.com/htmx.org"></script>
<button hx-get="/api/hello" hx-target="#result">
Klik saya
</button>
<div id="result"></div>
Saat button diklik, HTMX mengirim GET request ke /api/hello, lalu memasukkan response HTML ke #result. Sesederhana itu!
🎭 Analogi sehari-hari
React/Vue/Angular = bikin restoran modern dari nol: training koki, beli mesin canggih, design kitchen. HTMX = warung makan keluarga: dapur sederhana, bahan segar, langsung jadi. Beda audience, beda kebutuhan. Buat enterprise app kompleks: SPA. Buat CRUD app, dashboard internal, blog dinamis: HTMX cukup, jauh lebih simpel + cepat develop.
⚠️ Jebakan yang sering ditemui
- Server harus return HTML fragment, bukan JSON. Beda paradigma dari REST API biasa
- Bukan replace SPA — HTMX cocok untuk server-rendered app, kurang cocok untuk highly interactive client-side (game, drawing app)
- State client-side terbatas — semua state di server (paradigma berbeda dari React/Vue)
- Bundle JS kecil (~14kb gzipped) tapi gak handle complex interaction (animation, drag-drop) tanpa Alpine.js companion
htmx.orgvsunpkg— pakai version-pinned URL untuk production stability
TL;DR: HTMX = AJAX langsung dari HTML attribute, gak perlu JavaScript. Server return HTML fragment, HTMX inject ke DOM. No build step, no complex SPA. Cocok untuk server-rendered app (Rails/Django/Laravel/PHP). Bukan replace React universal — alat berbeda untuk problem berbeda. Hypermedia-driven, kembali ke prinsip web orisinal.