GN⁺ 2024-10-10 | parent | ★ favorite | on: Htmx에 대한 온건한 비판(chrisdone.com)
Hacker News 의견
  • 속성 상속에 대한 의견이 엇갈림. htmx.config.disableInheritance 옵션으로 비활성화 가능함

    • 클라이언트 측 상태와 htmx 교체가 항상 잘 맞지 않음. 특히 간단한 경우에 그러함
    • 이벤트는 강력하지만 복잡하고 디버깅이 어려움. 이벤트 기반 프로그래밍의 특성임
    • 기본 대기 모드에 동의하지 않음. 기존 요청을 취소하고 교체하는 것이 아니라, 현재 요청을 유지하고 추가 요청을 하나만 대기시킴
    • htmx를 싫어하는 사람들을 위한 머그컵 홍보
  • 프론트엔드에 뛰어들지 않은 이유는 선택지가 많고 비판이 많으며, 기술 트렌드가 자주 변하기 때문임

    • 백엔드와 시스템 프로그래밍도 의견 충돌이 있지만, 프론트엔드보다는 덜 혼란스러움
  • HTMX를 사용하여 성능이 좋은 스토어프론트를 구축하고 있으며, 결과가 만족스러움

    • 브라질의 대형 의류 소매업체에서 HTMX와 부분 렌더링 전략을 사용 중임
  • "HTMX in React" 아이디어는 React Server Components를 재발명한 것과 같음

    • 서버가 JSON을 보내면 React가 이를 가상 DOM 컴포넌트로 변환함
    • 컴포넌트 상태 문제를 해결하고, 특별한 브리지 없이 React 컴포넌트를 사용할 수 있음
    • React와 연결된 웹 페칭 라이브러리를 사용할 수 있으며, HTMX의 대기 선택을 피할 수 있음
    • morphdom 문제와 브라우저 DOM 입력 요소 문제를 해결할 수 있음
    • RSC는 아직 실험적이며, 기본 구현은 서버에서 JS를 실행한다고 가정함
  • 기본 대기 모드가 비합리적이라는 의견에 동의하지 않음

    • 사용자가 입력을 제출하고 중간에 변경한 후 다시 제출하면 요청이 취소되어야 함
    • 응답이 다른 ID로 콘텐츠를 교체하면 두 번째 응답을 동일하게 교체할 수 없음
  • HTMX를 처음 사용해본 결과, 간단한 작업에서 쉽게 적용할 수 있었고 재미있었음

    • 복잡한 프로젝트에 사용할지는 아직 확신이 없음
  • 상태에 대한 불만을 읽고, 작성자가 React 이전에 웹사이트를 만들어본 적이 없다고 생각함

    • 예시가 이해되지 않으며, htmx를 React처럼 사용하려다 기대와 달라 실망한 것 같음
  • HTMX에 Turbo Mount와 같은 기능이 있는지 궁금함

    • Hotwire/Turbo를 사용하는 가장 좋은 방법 중 하나라고 생각함
  • morphdom이 예상치 않게 일부 요소를 덮어쓰는 문제에 대해 더 알고 싶음

    • 입력 요소와 세부 요소의 상태를 유지하는 것이 morphdom과 같은 라이브러리의 주요 기능임