Thymeleaf 사용 후기 및 한계점 분석
Source
Evernote/Technote scraps/Outsider's Dev Story.md
Summary
저자는 Thymeleaf의 ‘네츄럴 템플릿(Natural Templating)’ 기능(HTML 파일 자체를 브라우저에서 바로 확인할 수 있음)을 초기에는 큰 장점으로 여겼으나, 실제 프로젝트 적용 후 여러 가지 실용적 한계로 인해 재사용 의사가 낮다고 평가했다. 주요 단점은 다음과 같다: 1) 엄격한 XML 파싱 요구로 인해 닫는 태그 누락 등 일반 HTML 작성 습관에서 컴파일 오류가 빈번하게 발생하며, 2) 브라우저 환경에서 템플릿 포함(include) 기능이 작동하지 않아 별도 라이브러리(Thymol) 의존이나 번거로운 작업이 필요하고, 3) HTML 속성 기반의 템플릿 문법으로 인해 복잡한 조건부 레이아웃(예: 리스트를 특정 개수마다 행으로 구분) 구현이 유연하지 않고 구조 설계에 제약이 따른다.
Key Points
- Thymeleaf는 HTML 속성(th:*)을 사용하여 템플릿을 작성하며, 브라우저에서 별도 서버 없이 HTML 파일을 직접 확인할 수 있는 네츄럴 템플릿을 특징으로 한다.
- 실제 사용 시 HTML 코드가 완전한 XML 형식(모든 태그 닫힘 등)을 요구하므로, 일반적인 HTML 작성 습관과 충돌하여 컴파일 오류가 자주 발생한다.
- 브라우저에서 템플릿의 include 기능을 사용할 수 없어, 프론트엔드 개발 시 별도의 자바스크립트 라이브러리(Thymol)를 사용하거나 서버 환경에서만 테스트해야 하는 불편함이 있다.
- 속성 기반 문법으로 인해 HTML 구조를 동적으로 제어하는 데 제약이 있으며, 특히 반복문 내에서 조건부로 부모/자식 태그를 생성하는 복잡한 레이아웃 구현이 어렵다.
- 저자는 이러한 한계들로 인해 향후 프로젝트에서 Thymeleaf를 선택할 가능성이 낮다고 결론지었다.