- htmx는 원래 jQuery 기반으로 HTML 속성만으로 동적 기능을 제공하던 intercooler.js에서 시작됨
- jQuery가 많은 웹사이트에서 오랫동안 사용되는 이유로 간단한 도입, 일관된 API, 자유로운 부분적 사용 가능성 등이 꼽힘
htmx is the New jQuery
- htmx도 jQuery처럼 오래 사용 가능한 안정적인 라이브러리를 지향함
- “100년 동안 유지될 웹 서비스”라는 목표를 세워, 큰 변화 없이도 유용하고 지속 가능하도록 설계됨
-
Stability as a Feature
- htmx의 주요 업데이트 정책은 API와 구현의 안정성을 유지하는 것임
- 기존 버전에서 새 버전으로 업그레이드 시, 그대로 동작이 보장되도록 “기존 사용자” 중심의 접근을 추구함
-
No New Features as a Feature
- htmx 코어에 새로운 기능을 무턱대고 추가하지 않음을 지향함
- 필요한 경우에는 브라우저가 지원하는 새로운 API나 확장(extensions)으로 해결하고, 코어는 단순성을 유지함
-
Quarterly Releases
- 분기 단위(약 3개월마다)로 새로운 릴리스를 내놓을 예정임
- 굳이 업그레이드를 강제하지 않으며, 1.x 버전을 문제없이 사용 중이라면 그대로 유지해도 좋음
Promoting Hypermedia
- htmx는 웹 애플리케이션 전반의 토털 솔루션이 아니라 하이퍼미디어 컨트롤을 일반화하는 것이 핵심 목표임
- 이를 위해서는, htmx 외부의 템플릿 엔진·백엔드·데이터베이스 등과의 결합 방식을 개선해야 함
- htmx에 새 기능을 추가하지 않아도, 주변 도구들이 하이퍼미디어 생태계를 풍부하게 만들면 결과적으로 htmx도 더 활용도가 높아짐
-
Supporting Supplemental Tools
- htmx는 HTML 속성만으로 일부 기능을 제공해주지만, 백엔드나 DB 선택 등은 전적으로 사용자에게 맡김
- 다양한 백엔드와 호환될 수 있도록 설계되어, 하이퍼미디어 중심의 개발 패턴을 지원함
- 부분 페이지 교체를 간편하게 만드는 “템플릿 프래그먼트” 개념을 강조해, 템플릿 엔진 생태계 발전에 기여함
- 이제 여러 템플릿 엔진에서 프래그먼트 기능을 제공하는 사례가 많아졌음
- 아직도 하이퍼미디어 기반 웹 애플리케이션 작성 경험을 높일 수 있는 방안이 많음
- htmx는 코어 기능보다 주변 도구·기술의 발전을 유도하여, 전체 생태계를 성장시키는 데 집중함
-
Writing, Research, and Standardization
- htmx는 자체 기능 확장보다 하이퍼미디어 전반의 아이디어를 전파하고 발전 시킬 예정
-
Triptych 프로젝트 등을 통해 HTML 표준에 htmx 아이디어가 반영되도록 노력함
- 궁극적으로는, 웹 플랫폼 자체가 htmx와 유사한 기능을 표준으로 지원하기를 희망
- 오늘 작성된 htmx 코드도 꾸준히 호환되겠지만, 언젠가는 라이브러리 없이도 유사한 UI 패턴을 구현할 수 있는 세상을 기대함
Intercooler Was Right
- intercooler.js 시절부터 큰 변화를 피하고, 더는 망치지 않는 “stewardship” 방식으로 유지해 옴
- htmx도 이런 철학을 이어받아 **“튼튼하고 신뢰할 수 있는 툴”**로 오랫동안 살아남는 것을 지향함