3P by neo 12일전 | ★ favorite | 댓글 1개
  • 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도 이런 철학을 이어받아 **“튼튼하고 신뢰할 수 있는 툴”**로 오랫동안 살아남는 것을 지향함
Hacker News 의견
  • HTMX에서 Hotwire로 포팅을 완료한 경험을 공유하며, HTMX의 아이디어는 좋지만 실행이 부족하다고 평가함. 버그가 많고 웹 및 브라우저 기능과 잘 호환되지 않으며, 문서가 부족하다고 언급함. Turbo와 Stimulus로 포팅 후 더 안정적이고 이해하기 쉬운 코드 기반을 얻었음.

  • 안정성을 강조하는 추세에 동의하며, 불안정한 추상화 위에 구축하면 미래에 버그가 발생할 가능성이 높아짐을 지적함. 작은 프로젝트는 문제가 되지 않지만, 유용성이 입증되면 큰 프로젝트로 발전할 수 있음을 언급함.

  • Django와 HTMX를 사용하여 애플리케이션을 개발한 경험을 공유하며, React나 Vue를 선호하지만 HTMX가 백엔드 개발자에게 적합할 수 있음을 설명함. HTMX는 현대 프론트엔드 라이브러리만큼 테스트하기 어렵다고 평가함.

  • HTMX의 접근성에 대한 우려를 표하며, 스크린 리더와의 호환성을 확신하고 싶다고 언급함. ARIA 속성의 올바른 사용 여부보다는 실제 사용자 경험을 중시함.

  • HTMX가 특정 JavaScript 작업을 우아한 추상화로 처리하여 개발자 작업량을 줄였다고 감사함. 복잡성을 관리하는 데 있어 좋은 교훈을 제공했다고 평가함.

  • HTMX를 대규모 소프트웨어 개발 회사에 도입하려고 노력 중이며, 멘토링에서 사고 실험으로 활용하고 있다고 언급함. SPA가 정말 필요한지 고민하게 만듦.

  • "새로운 기능이 없는 것이 기능"이라는 의견에 동의하며, 소프트웨어를 자주 업데이트할 필요가 없다는 점을 긍정적으로 평가함.

  • HTMX 기능이 HTML 표준에 통합되기를 희망하며, Triptych 프로젝트를 통해 이를 추진하고 있다고 언급함. 브라우저에 기본적으로 포함되기를 바람.