HTMX(에이치티엠엑스) 팀이 8개월간의 개발을 거쳐 HTMX 4.0.0 버전을 공식 출시했습니다. 이번 업데이트는 웹 개발자들이 자바스크립트(JavaScript) 없이 HTML만으로 동적인 웹 인터페이스를 구축할 수 있도록 돕는 HTMX의 철학을 더욱 공고히 합니다. 특히 내부적으로는 기존의 XMLHttpRequest 대신 최신 Fetch API를 도입하여 현대 웹 표준에 발맞추었지만, 대부분의 사용자에게는 2.x 버전과 거의 동일한 사용 경험을 제공하는 것이 특징입니다.
HTMX 4.0의 주요 변경 사항은 세 가지입니다. 첫째, 속성 상속(Attribute inheritance) 방식이 기본적으로 '명시적'으로 변경되었습니다. HTMX 2.x에서는 부모 요소에 적용된 속성이 자식 요소에 암묵적으로 상속되었으나, 4.0부터는 `hx-confirm:inherited`와 같이 `:inherited`를 명시해야만 상속됩니다. 이는 강력하지만 때때로 혼란을 야기했던 기존 방식을 개선하여 예측 가능성을 높였습니다. 둘째, 이벤트(Event) 이름이 `htmx:phase:action[:sub-action]` 형식으로 표준화되어 개발자들이 특정 이벤트가 언제 발생하는지 더 쉽게 이해하고 관리할 수 있게 되었습니다. 셋째, 히스토리(History) 관리에 더 이상 로컬 스토리지(localStorage)를 기본으로 사용하지 않습니다. 이는 서드파티 자바스크립트 라이브러리와의 충돌로 인한 문제를 해결하기 위한 것으로, 뒤로 가기(back navigation) 시 페이지를 다시 불러오는 방식으로 변경되어 안정성을 높였습니다.
이번 HTMX 4.0 출시는 웹 개발의 복잡성을 줄이고자 하는 움직임에 중요한 의미를 더합니다. 특히 자바스크립트 프레임워크의 과도한 사용 없이도 빠르고 반응성이 뛰어난 웹 애플리케이션을 만들 수 있다는 HTMX의 강점을 더욱 강화했습니다. 명시적인 속성 상속과 표준화된 이벤트는 대규모 프로젝트에서 코드의 유지보수성을 향상시키고, 로컬 스토리지 없는 히스토리 관리는 다양한 환경에서의 호환성 문제를 줄여줍니다. 이는 개발자들이 더 적은 코드로 더 안정적인 '100년 웹 서비스'를 구축할 수 있도록 돕는 중요한 진전으로 평가됩니다.
