Thymeleaf 시작하기 (1) - thymeleaf 란?

Updated:

서버 사이드 렌더링 (SSR / Server Side Rendering) vs 클라이언트 사이드 렌더링 (CSR / Client Side Rendering)

thymeleaf 를 알아가기 전에 렌더링에 대해 살펴보자.

먼저 렌더링이란 html, css, javascript 등의 코드를 사용자가 볼 수 있게 변환해주는 과정을 말한다. 지금 이 글도 그런 렌더링 과정을 걸쳐서 보여지고 있는 것이다.

렌더링 방식은 크게 2가지 방식이 있다. 바로 서버 사이드 렌더링과 클라이언트 사이드 렌더링 방식이다.

서버 사이드 렌더링 방식은 서버에서 렌더링 작업을 완료하고 결과물을 화면에 전달하는 방식으로 jsp, thymeleaf 등이 대표적이다. 클라이언트 사이드 렌더링 방식은 이와 달리 화면에서 렌더링 과정을 수행하게 된다. 보통 javascript 를 사용하여 html 에 API 를 통해 전달받은 데이터를 조합하게 된다. 이런 방식으로는 react, vue.js 가 있다.

요즘은 SPA (Single Page Application) 를 지향하게 되면서 클라이언트 사이드 렌더링 방식을 사용하는 것이 대세이나 가벼운 정적 웹사이트에서는 서버 사이드 렌더링 방식이 더 나은 선택일 수 있다.

thymeleaf 란?

thymeleaf 란 모던 서버 사이드 자바 템플릿 엔진이다. 앞서 말한 서버 사이드 렌더링 방식이라고 할 수 있다.

thymeleaf 의 궁극적인 목표는 내츄럴 템플릿을 사용해 개발하는 것이다. 여기서 내츄럴 템플릿이란 thymeleaf 로 작성된 html 템플릿을 말하는데 순수 html 로써도 웹 브라우저에서 동작하고 렌더링을 통해 뷰 템플릿으로도 동작하게 된다.

thymeleaf 의 장점

우선 java, spring 기반에서 개발하기 쉽고 기존에 jsp 를 경험한적이 있다면 진입 장벽이 낮다는 장점이 있다.

jsp 같은 서버 사이드 렌더링 방식과 달리 렌더링 과정 없이도 html 자체만으로도 브라우저에서 확인할 수 있다. 이런 점은 개발팀이 디자이너, 퍼블리셔와 협업하기에 이점이 된다.

정리

지금까지 thymeleaf 에 대해 살펴보았다. 그럼 다음편에서는 thymeleaf 를 어떻게 적용할 수 있는 지 간단한 화면 개발과 함께 알아가보자.

Thymeleaf 시작하기 (2) - spring boot + thymeleaf 프로젝트 생성

<레퍼런스> - 공식사이트 : https://www.thymeleaf.org/