템플릿 엔진( Template Engine )
템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨어(소프트웨어 컴포넌트)
웹 템플릿 엔진은 지정된 템플릿 양식과 데이터가 합쳐져서 HTML 문서를 출력하는 소프트웨어를 말한다.
서버 사이드 템플릿 엔진( Server Side Template Engine )
서버에서 데이터를 미리 정의된 Template에 넣어 HTML문서를 만들어 클라이언트에 전달해주는 역할을 한다.
예) JSP, Thymeleaf, Velocity, Freemarker 등
클라이언트 사이드 템플릿 엔진( Client Side Template Engine )
URL이 바뀌어도 HTML을 다시 내려받지 않고 클라이언트에서 알아서 그리기 때문에 주로 단일 화면에서 화면이 변경되는 경우에 사용된다.
예) Mustache, Squirrelly 등
서버 사이드 렌더링
서버에서 완전한 HTML을 만들어서 내려준다. 대표적으로 jsp, thymeleaf, velocity, freemarker가 있다.
| 장점 | 단순하고, 학습 곡선이 낮다. 백엔드 개발자도 쉽게 개발할 수 있다. 단순하고 정적인 화면이라면 서버 사이드 렌더링 기술로 개발을 금방 끝낼 수 있다. |
| 단점 | 동적이면서 복잡한 화면을 만들기 어렵다. |
클라이언트 사이드 렌더링
서버는 API만 제공하고, 자바스크립트 프레임워크가 템플릿과 서버 API 응답 결과를 조합해서 HTML 화면을 동적으로 만든다. 대표적으로 react, vue.js, angularJS 등이 있다.
| 장점 | 동적이고, 복잡한 화면을 만들기 좋다. |
| 단점 | 공부할 분량이 매우 많다. 자바스크립트에 능숙해야 한다. 웹 프론트엔드 개발자라는 전문 분야가 있다. |
'Web Development' 카테고리의 다른 글
| Ajax , Controller , 데이터 통신 , 넘기고 받기 (0) | 2023.02.06 |
|---|---|
| 넥사크로(Nexacro) (0) | 2022.12.13 |
| 프로젝트에서 패키지 이름 (0) | 2022.07.29 |
| RESTful API (0) | 2022.07.25 |
| Library, Framework, API (1) | 2022.07.10 |