Web Template Engine이란?
Web Template Engine이란?
웹 문서가 출력되는 템플릿 엔진을 말하는 것으로 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 말합니다. 쉽게 말해, 고정적으로 사용되는 웹 문서를 템플릿으로 미리 작성해 두고 동적으로 변경되는 데이터 영역만 필요시에 결합해서 웹 문서를 구성하고 화면에 출력하는 것입니다.
또한 View Code(HTML)과 Data Logic Code(DB)를 분리시키는데 이는 MVC 패턴과 비슷하게 각각의 역할을 나누어 View에서는 Controller에서 넘어온 데이터를 틀에 끼워 넣어 클라이언트에게 알맞은 웹 페이지를 제공합니다.
MVC 패턴이란?
Model, View, Controller의 약자로 애플리케이션, 프로젝트를 구성할 때 구성요소를 세 가지의 역할로 분리하여 개발할 수 있도록 구분한 디자인 패턴 중 하나
템플릿 구문을 사용하여 이러한 템플릿을 사용할 수 있는데, 이러한 템플릿 구문은 여러 템플릿마다
웹 템플릿 엔진은 Server Side Template Engine와 Client Side Template Engine으로 나눌 수 있습니다.
Server Side Template Engine
서버 쪽에서 템플릿을 구성하는 방식입니다.
서버에서 데이터를 처리하고 가공한 후 HTML을 완성시켜 클라이언트로 보내면 클라이언트는 받아온 HTML을 받아서 화면에 띄웁니다.
Server Side Template Engine의 종류로는 JSP, Thymeleaf, Velocity, Freemarker 등이 있으며 서버에서 작업이 이루어지는 만큼 서버에 부하가 클 수 있다는 단점이 존재하지만, 한 번의 요청과 응답으로 완성된 페이지를 볼 수 있기 때문에 빠른 로딩 속도와 검색 엔진 최적화(SEO)에 유리하다는 장점이 존재합니다. 따라서 웹 사이트의 상호작용이 별로 없고, 웹 페이지가 크게 변경되지 않을 때 선택됩니다.
Client Side Template Engine
클라이언트 쪽에서 템플릿을 구성하는 방식입니다.
서버에서 받아온 데이터를 클라이언트 측에서 HTML로 완성시켜 화면에 띄웁니다.
Client Side Template Engine의 종류로는 React, Vue, Angular 등이 있으며 자바스크립트를 필요로 하기 때문에 초기 로딩시간이 길어질 수 있다는 단점이 존재하지만, 서버에서는 데이터만 받아오고 클라이언트에서 HTML을 완성하기 때문에 사용자의 상호작용에 따라 페이지의 일부만 빠르게 업데이트가 가능하다는 장점이 존재합니다. 따라서 사용자의 상호작용에 따라 콘텐츠가 변경되거나, 서버 성능이 좋지 않을 때 선택됩니다.
참고