Alex Edwards, Go와 HTMX 실전 사용 패턴 정리해 공개
- Alex Edwards가 자신이 실무에서 Go와 HTMX를 결합해 쓰는 패턴을 블로그에 정리함
- HTML 템플릿을 base.tmpl, pages/, partials/ 폴더로 나누고 {{define}}으로 이름을 명시해 관리함
- HTMX 스크립트는 CDN 대신 직접 내려받아 정적 파일로 서빙하고 defer 속성으로 로드함
- 부분 응답과 전체 페이지 응답, 리다이렉트와 에러 처리까지 다루는 사용자 목록 필터 예제 앱을 구현함
- Bamboo CSS와 고퍼 이미지를 사용한 데모 프로젝트로 HTMX 설정값과 그 이유를 설명함
Hacker News opinions
HTMX 진짜 좋더라, JS로 이벤트 핸들러 보일러플레이트 짜는 거 다 줄여줌. 사이트에 있는 첫 예제는 너무 기초적인데 조금만 더 파보면 훨씬 강력해짐.
스벨트킷도 알고 보면 HTMX스러운 하이퍼텍스트 중심 철학을 잘 지원하더라, 겉보기엔 그냥 JS 프레임워크 같은데 써보면 다름.
Go+HTMX 조합에 a-h/templ까지 얹어서 쓰는데, Go/Unix/SQLite라서 GUS 스택이라 부름. cockroachdb/errors, sqlc, goose, rod까지 다 엮어서 코딩할 때 생산성 엄청 좋음.
그럼 HUGS 스택이라고 불러야지, HTMX/Unix/Go/SQLite.
templ 써봤는데 오히려 번거롭더라, 그냥 기본 템플릿에 HTMX 뿌리는 조합이 나한텐 더 편함.
Alex Edwards 책이랑 Learn Go with Tests가 Go 처음 배울 때 큰 도움 됐음, Let's Go랑 Let's Go Further 둘 다 강추.
Convictional에서 HTMX+AlpineJS로 오래 버텼는데 실시간 협업 기능 만들면서 한계 느꼈음, 요즘 프론티어 모델들이 HTMX보다 React 학습데이터가 많아서 개발이 더 힘들어짐.
그럴 땐 Datastar 써보라고, HTMX+Alpine 합친 것보다 더 강력하고 가볍고 멀티플레이어 실시간 반응성 기능도 다 있음.
Go+Datastar 조합이 HTMX보다 더 단순해서 좋음.
나도 Datastar 선호하는데 HTMX4에서 나올 새 기능들 보면 격차가 많이 줄어들 듯.
HTMX 쓸 때마다 앱 복잡도가 코드베이스 대비 2배로 커지는 느낌이었음, 이상한 엣지케이스에 자꾸 걸려서 결국 Mantine 템플릿으로 UI 짜고 정적 자산을 Go 바이너리에 넣는 방식으로 감.
Mantine으로 만든 UI 중에 HTMX로는 못 만들 예시가 뭐임?