반응형
📝Server Side Template Engine
페이지 렌더링 전에 필요한 데이터를 모두 받아서 정의된 Template에 넣어 Html을 그려 클라이언트에 전달해준다 → 서버에서 처리함
📝Client Side Template Engine
페이지가 모두 렌더링 된 상태에서 필요한 부분만 다시 정의하기 위해서 프론트단에서 HTTP 통신해 데이터를 다시 받아와 그려주는 역할을 한다 → 클라이언트에서 요청 후 다시 그려준다
📝Template Engine (템플릿엔진)
HTML만 가지고서 데이터를 받아와 화면에 보여주고 하는 그런 행위는 불가능하다
정해진 템플릿 양식이 있으면 데이터를 받아와 화면에 보여줄 HTML을 재구성해서 보여주는 소프트웨어를 의미한다.
📝템플릿 엔진(Template Engine)의 필요성
- 많은 코드를 줄일 수 있다
- 대부분의 Template Engine은 기존의 HTML에 비해서 간단한 문법을 사용한다.
- 재사용성이 높다
- 웹페이지 혹은 웹앱을 만들 때 똑같은 디자인의 페이지에 보이는 데이터만 바뀌는 경우가 굉장히 많다.
- 유지보수에 용이하다
- 하나의 Template을 만들어 여러 페이지를 렌더링하는 작업에는 또 다른 이점이 있다.
📝템플릿엔진 종류
레이아웃 템플릿 엔진
페이지 마다 include를 두는게 아닌 최상위 레이아웃이 있어서 해당 레이아웃에 Include해서 사용하게 도와준다
페이지 별 Include가 있을 시 헤더 또는 푸터 등의 경로 변경이 있거나 전체적인 레이아웃 구조가 변경될 때 모든 페이지를 다 수정해야하는 불상사를 최상위 레이아웃만 수정해서 간단하게 처리 가능 (모듈화)
예) Apache Tiles
텍스트 템플릿 엔진
템플릿 양식에 적절한 데이터를 넣어 결과를 문서에 출력합니다.
예) JSP, Thymeleaf
🔗 참고 및 출처
https://gmlwjd9405.github.io/2018/12/21/template-engine.html%EF%BB%BF
반응형