Modern한 Web Applications은 JSON을 사용해서 데이터를 Patch하고 이를 client-side user interface에 빌드하는 것이다.

JSON을 보내는 것을 대신에 아예 HTML을 보내는것은 어떠한가?

이것이 htmx의 Core-idea 이다.

일반적으로 /api/users 에 요청을 통해 얻어낸 정보는

{
  "users": [
    { "name": "First user" },
    { "name": "Second user" },
    { "name": "Third user" },
  ]
}

다음과 같다. 그래서 이걸 Client-side에서 build 해야 된다.

HTMX를 사용하게 되면 서버에서 HTML partial한 데이터를 얻을 수 있다

full HTML page가 아니고, 약간의 tag를 곁들인 HTML이다.

<ul>
  <li>First user</li>
  <li>Second user</li>
</ul>

HTMX에서는 어느곳에서 이것이 보여지기를 원하는 것만 정의하면

나머지는 모두 자동적으로 이루어진다.

HTMX는 백엔드와는 독립적으로 동작하기에, 데이터를 Fetch할 수 있는 어느 백엔드든 기본적으로 OK이다.