SPING/Spring 정리

[Spring] Mustache(머스테치)란?

h0-0cat 2023. 6. 25. 23:52
728x90

 

Mustache(머스테치)

 

Mustache(머스테치)란?

Mustache = 수염 

수 많은 언어를 지원하는 가장 심플한 템플릿 엔진입니다. 

대부분의 언어를 지원하다 보니 자바에서 사용될 때는 서버 템플릿 엔진, 자바스크립트에서 사용될 때는 클라이언트 템플릿 엔진으로 모두 사용할 수 있습니다.

 

Mustache(머스테치) 장점

  • 문법이 다른 템플릿 엔진보다 심플합니다.
  • 로직 코드를 사용할 수 없어 View의 역할과 서버의 역할이 명확하게 분리됩니다.
  • mustache.js와 mustache.java 2가지가 다 있기 때문에 하나의 문법으로 클라이언트/서버 템플릿 모두 사용 가능합니다.

Mustache(머스테치) 단점

  • JSP, Velocity : 스프링 부트에서는 권장하지 않는 템플릿 엔진입니다.
  • Freemarker : 템플릿 엔진으로는 너무 과하게 많은 기능을 지원합니다. 높은 자유도로 인해 숙련도가 낮을수록 Freemarker 안에 비즈니스 로직이 추가될 확률이 높습니다.
  • Thymeleaf : 스프링 진영에서 적극적으로 밀고 있지만 문법이 어렵습니다. HTML 태그에 속성으로 템플릿 기능을 사용하는 방식이 기존 개발자분들께 높은 허들로 느껴지는 경우가 많습니다. 

 


 

프로젝트에서 머스테치를 편하게 사용할 수 있도록 build.gradle에 의존성을 추가

dependencies{
	compileOnly 'org.springframework.boot:spring-boot-starter-mustache'
}

 

 

 


Mustache

https://mustache.github.io/

 

{{ mustache }}

Logic-less templates. Available in Ruby, JavaScript, Python, Erlang, Elixir, PHP, Perl, Raku, Objective-C, Java, C#/.NET, Android, C++, CFEngine, Go, Lua, ooc, ActionScript, ColdFusion, Scala, Clojure[Script], Clojure, Fantom, CoffeeScript, D, Haskell, XQu

mustache.github.io

 

728x90