Spring

머스태치Mustache

voider 2020. 9. 16. 00:21

템플릿 엔진이란?

템플릿 엔진이란, 지정된 템플릿 양식과 데이터를 합쳐 HTML문서를 출력하는 소프트웨어를 말한다. JSP, Freemarker, React, Vue 모두 지정된 템플릿과 데이터를 이용해서 HTML을 생성하는 템플릿 엔진이다. 다만 JSP, Freemarker는 서버 템플릿 엔진이고, 리액트나 뷰는 클라이언트 템플릿 엔진이다.

서버에서 작동하느냐, 클라이언트(브라우저)에서 작동하느냐, 이 차이가 둘을 구분하는 기준이다.

머스태치란?

템플릿 엔진이다. 많은 언어를 지원해서, 어떤 언어로 다루느냐에 따라 서버 템플릿 엔진이기도 하고, 클라이언트 템플릿 엔진이기도 하다.

다른 템플릿 엔진의 단점

  • JSP, Velocity
    • 스프링부트에서 권장하지 않음
  • Freemarker
    • 템플릿 엔진치고 기능이 과하다. 자유도가 높아서, 숙련도가 낮을 수록 비즈니스 로직이 추가될 수도 있다.
  • Thymeleaf
    • 스프링에서 권장하지만, HTML 태그에 속성으로 템플릿 기능을 사용하는 방식어서 문법이 어렵다. 물론 익숙하다면 Thymeleaf도 좋은 선택이다.

머스태치 장점

  • 심플한 문법

  • Logic-less

  • Mutache.js와 Mustache.java가 있어서 하나의 문법으로 클라이언트/서버 템플릿을 모두 사용할 수 있다.

    템플릿 엔진은 화면을 구성하는 역할에만 충실해야 한다.