Bring back the joy in web development with HTMX and Hypermedia-Driven Applications by Frederik Hahne
- 현대 웹 개발, 특히 SPA는 불필요한 복잡성(API churn, 과도한 도구, 팀 분할)을 초래하며, ThoughtWorks Tech Radar도 기본 SPA 사용에 의문을 제기합니다. 🤯
- 하이퍼미디어는 1960년대 테드 넬슨의 비선형 하이퍼텍스트 개념에서 시작되었으며, HTML과 웹 1.0은 이를 활용하여 단순하면서도 강력한 웹 경험을 제공했습니다. 📜
- 하이퍼미디어 기반 애플리케이션(HDA)은 서버와의 주된 통신 메커니즘으로 HTML 문서 또는 스니펫 교환을 사용하며, 클라이언트는 사전 지식 없이 HTML을 직접 렌더링합니다. 🔄
- 기존 HTML은 하이퍼미디어 기능이 제한적(링크 및 폼 제출, GET/POST만 가능, 전체 화면 교체)이어서 동적인 부분 업데이트에 한계가 있었습니다. 🚧
- HTMX는 이러한 HTML의 제약을 해소하여 하이퍼텍스트로서의 HTML을 완성하는 경량 JavaScript 라이브러리(14KB)입니다. 선언적인 HTML 속성으로 Ajax, WebSockets, SSE를 간소화합니다. 🧩
- HTMX는
hx-post, hx-target, hx-trigger와 같은 핵심 속성을 통해 HTTP 메서드, 대상 요소, 이벤트 트리거, 스왑 방식을 HTML 마크업 내에서 직접 정의할 수 있게 합니다. 🏷️
- JTE는 컴파일 시점에 템플릿 매개변수를 명확히 정의하고 타입 안전성을 제공하여 리팩토링을 용이하게 하는 Java용 템플릿 엔진입니다. 🛡️
- HTMX는 Thymeleaf와 같이 HTML 프래그먼트 렌더링을 지원하는 다양한 서버 측 템플릿 엔진과 호환되지만, FreeMarker처럼 프래그먼트 지원이 없는 엔진과는 잘 작동하지 않습니다. 🛠️
- HTMX는 클라이언트 측 JavaScript 사용을 최소화하지만, 드롭다운과 같은 특정 클라이언트 상태나 상호작용에는 바닐라 JS, AlpineJS 또는 Hotwire/Stimulus를 함께 사용할 수 있습니다. 💡
데브허브 | DEVHUB | Bring back the joy in web development with HTMX and Hypermedia-Driven Applications by Frederik Hahne