11/14/2024 - 13:00

Progressive Enhancement with HTMX – working websites in the absence of JavaScript

What will hap­pen if our users do not have work­ing JavaScript in their brows­er? Many mod­ern web appli­ca­tions would stop work­ing prop­er­ly, leav­ing non-tech­ni­cal users with no way to accom­plish what they are try­ing to do.

Pro­gres­sive enhance­ment presents itself as a pat­tern for grace­ful­ly degrad­ing UX fea­tures in the absence of JavaScript, and deliv­er­ing the full capa­bil­i­ties of mod­ern web­sites when we have work­ing JavaScript in our users’ browsers. Using HTMX as a frame­work with serv­er-side ren­der­ing (SSR), and tak­ing advan­tage of cur­rent HTML and CSS fea­tures, we cre­ate a ful­ly func­tion­al, inter­ac­tive appli­ca­tion that works for all users in all sit­u­a­tions. In addi­tion, we will explore the inte­gra­tion of React or sim­i­lar frame­works and mod­ern web com­po­nents with this approach. We will also look at oth­er advan­tages, such as page ren­der­ing speed and size, com­pared to oth­er solutions.

Learning objectives

Understand the concepts and benefits of progressive enhancement as well as graceful degradation and how to implement it on your own.

Level

Basic

Prior knowledge

Basic HTML and CSS are helpful
Paul Hempel is co-organizer of JUG Mainz and has been programming on the JVM for over 10 years. His focus is on web development, and in recent years he has become increasingly familiar with native HTML, CSS, JS and accessibility. In addition, he now also develops mobile applications with Flutter and, as on the web, mostly uses Clojure. He also teaches programming to teenagers and young adults and has gained a lot of experience in teaching technical content.