Removing React.js from the codebase and adapting Htmx for UI interactivity
Misago 프로젝트는 코드베이스에서 React.js를 제거하고 UI 상호작용을 위해 HTMX를 도입하는 작업을 진행하고 있습니다. 현재 Misago는 Django 템플릿과 React.js 컴포넌트를 모두 사용하여 페이지를 구현하고 있어, 페이지가 중복 구현되고 데이터 전송을 위해 JSON 직렬화가 필요하며 이는 응답 생성 속도를 늦추고 JavaScript 파일 크기를 증가시키는 성능 문제를 야기합니다.
이러한 문제를 해결하기 위해 HTMX는 서버에서 렌더링된 HTML을 사용하여 페이지의 일부 영역을 동적으로 교체할 수 있게 해주는 경량 라이브러리입니다. HTMX를 사용하면 전체 페이지 새로고침 없이 특정 부분만 서버에서 새로운 HTML을 받아와 교체할 수 있어, React.js와 같은 무거운 클라이언트 측 렌더링 없이도 포럼 소프트웨어에서 필요한 상호작용을 구현할 수 있습니다.
다만, React.js에서 HTMX로의 전환은 여러 단계로 진행해야 하며, 일부 기능은 여전히 전체 페이지 새로고침을 필요로 할 수 있는 과도기 기간이 있을 수 있습니다. 하지만 게시물 좋아요나 투표와 같은 상호작용은 HTMX를 통해 처리할 수 있으며, 이 과정에서 Misago의 JavaScript 파일 크기는 이미 줄어들고 있습니다.
이러한 문제를 해결하기 위해 HTMX는 서버에서 렌더링된 HTML을 사용하여 페이지의 일부 영역을 동적으로 교체할 수 있게 해주는 경량 라이브러리입니다. HTMX를 사용하면 전체 페이지 새로고침 없이 특정 부분만 서버에서 새로운 HTML을 받아와 교체할 수 있어, React.js와 같은 무거운 클라이언트 측 렌더링 없이도 포럼 소프트웨어에서 필요한 상호작용을 구현할 수 있습니다.
다만, React.js에서 HTMX로의 전환은 여러 단계로 진행해야 하며, 일부 기능은 여전히 전체 페이지 새로고침을 필요로 할 수 있는 과도기 기간이 있을 수 있습니다. 하지만 게시물 좋아요나 투표와 같은 상호작용은 HTMX를 통해 처리할 수 있으며, 이 과정에서 Misago의 JavaScript 파일 크기는 이미 줄어들고 있습니다.