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이다.