Frederik Pietzko

How to kill JavaScript from your Stack with HTMX and Kotlin

Tired of JavaScript fatigue? Learn how to build modern, interactive web apps with a simplified, server-centric stack using just HTMX and Kotlin.

How to kill JavaScript from your Stack with HTMX and Kotlin
#1about 4 minutes

The growing complexity of modern JavaScript web stacks

Modern web development has evolved from simple templating to complex stacks with numerous tools, leading to unnecessary complexity for business applications.

#2about 3 minutes

Critiquing complex stacks with core programming principles

Applying principles like KISS, DRY, and YAGNI reveals how modern frontend frameworks often introduce state synchronization and code duplication issues.

#3about 2 minutes

Establishing goals for a simplified, server-rendered stack

The ideal stack should prioritize server-side rendering, reusable components, and static typing while eliminating client-side JavaScript frameworks.

#4about 3 minutes

How HTMX enables dynamic interactions without JavaScript

HTMX extends HTML with attributes that trigger server requests and swap parts of the page with the returned HTML, creating dynamic UIs simply.

#5about 1 minute

Identifying where HTMX and SSR patterns fit best

This server-centric approach is highly effective for business applications and e-commerce but less suitable for highly interactive applications like Figma.

#6about 1 minute

Building type-safe HTML on the JVM with Kotlinx.html

Kotlinx.html provides a type-safe DSL for generating HTML using standard Kotlin functions, offering better editor support and compile-time checks than string-based templates.

#7about 2 minutes

Creating reusable UI components with Kotlin extension functions

Encapsulate UI logic into reusable components by writing Kotlin extension functions that leverage the full power of the language's control flow.

#8about 3 minutes

Integrating and testing the HTMX and Kotlin stack

The Kotlin HTML DSL can be easily integrated into any JVM framework like Spring Boot, allowing for straightforward unit and integration testing.

#9about 5 minutes

Demo of a dynamic app with HTMX and Kotlin

A live demonstration showcases features like real-time validation, active search, lazy loading, and WebSocket updates, all built without a client-side framework.

#10about 2 minutes

Exploring alternative libraries for server-centric web development

Several other libraries like JTE, Alpine.js, and Hotwire offer similar capabilities for building interactive applications with a server-side rendering approach.

Related jobs
Jobs that call for the skills explored in this talk.

Software Engineer

tree-IT GmbH
Bad Neustadt an der Saale, Germany

Remote
Intermediate
Senior

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.