Htmx의 미래

1 day ago 3

  • 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도 이런 철학을 이어받아 **“튼튼하고 신뢰할 수 있는 툴”**로 오랫동안 살아남는 것을 지향함

Read Entire Article