# htmgo - go 와 htmx를 이용하여 간단한 웹 서비스 구축하기

> Clean Markdown view of GeekNews topic #17027. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17027](https://news.hada.io/topic?id=17027)
- GeekNews Markdown: [https://news.hada.io/topic/17027.md](https://news.hada.io/topic/17027.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-10-02T09:46:01+09:00
- Updated: 2024-10-02T09:46:01+09:00
- Original source: [htmgo.dev](https://htmgo.dev/)
- Points: 14
- Comments: 2

## Summary

Go와 htmx를 사용하면 자바스크립트 없이도 빠르고 간단한 대화형 웹사이트를 구축할 수 있습니다. 배포 가능한 단일 바이너리로 컴파일되어 라이브 리로드와 같은 편리한 기능을 제공합니다. 또한, tailwindcss 지원과 플러그인 아키텍처를 통해 개발을 더욱 간소화할 수 있습니다.

## Topic Body

- 가볍고 순수한 Go 방식으로 go & htmx를 사용하여 스케일러블한 대화형 웹사이트/웹 애플리케이션을 구축  
- go의 속도와 단순성 + 하이퍼미디어 속성(htmx)을 결합하여 웹사이트에 대화형 기능을 추가   
- 자바스크립트를 건드리지 않고도 간단하고 빠른 대화형 웹사이트를 구축가능   
- 모든 것은 배포가능한 단일 바이너리로 컴파일 됨   
  
```go   
func IndexPage(ctx *h.RequestContext) *h.Page {  
  now := time.Now()  
  return h.NewPage(  
    h.Div(  
      h.Class("flex gap-2"),  
      h.TextF("the current time is %s", now.String())  
    )  
  )  
}  
```  
  
### 핵심 기능   
- 배포 가능한 단일 바이너리   
- 라이브 리로드(변경 시 css, go, ent 스키마 및 경로를 다시 빌드)   
- 파일 경로에 기반한 자동 페이지 및 부분 등록   
- tailwindcss 지원, 기본 플러그인 아키텍처로 아무것도 구성할 필요 없음  
- 플러그인 아키텍처 : 개발을 간소화하기 위한 선택적 플러그인 포함 (http://entgo.io 등)  
- 공통 작업의 boilerplate를 줄이기 위한 커스텀 htmx 확장들

## Comments



### Comment 29612

- Author: halfenif
- Created: 2024-10-03T07:05:27+09:00
- Points: 1

streamlit을 써보고 어플리케이션으로서의 웹에대한 인식이 좀 바뀌었습니다.  
  
내가 원하는것이 아니라 그(streamlit)가 원하는 방식이면 충분히 좋은 선택이라고 말입니다.

### Comment 29603

- Author: aer0700
- Created: 2024-10-02T19:10:19+09:00
- Points: 1

요즘 htmx 활용한 프레임워크들이 하나씩 하나씩 보이네요.  
Fasthtml... 좀 적응이 안되던데.  
https://news.hada.io/topic?id=16091  
Htmx가 굳이 필요한지, 저는 좀 회의적이었는데, 이참에 한번 자세히 봐야겠네요.
