티스토리 뷰

최근 Template Engine Mustache 를 이용해서 Spring Boot 개발을 진행하고 있다. 개발에 앞서 Template Engine이 무엇인지 정리해보려고 한다.


1. Template Engine

Template Engine은 static 서비스에서 dynamic 서비스의 기능을 사용할 수 있도록 도와주는 기능으로 정의할 수 있다.

해석하자면, 정적인 html 페이지에서 서버에서 전달받은 매개변수를 동적으로 제공함으로써, html 페이지를 재사용하는 것을 의미한다.

또한, Template Engine에는 COC(Convention over Configuration : 설정보다 관례)를 제공해준다. 

설정에 대한 부담감을 줄이고, 개발자가 개발과 설계에 집중 할 수 있도록 제공해준다. 아래는 COC 에 대한 간단한 정의이다.


CoC (Convention over Configuration)

 * 프레임워크의 기능이 많아지면서 생긴 많은 설정에 대한 부담감을 줄이기 위한 목적

   개발자가 설정해야 할 것을 줄여 단순하면서도 유연성은 잃지 않겠다는 소프트웨어 설계 패러다임

   개발자는 설정보다는 개발과 설계에 집중이 가능

 * 개발자가 자주 사용하는 기본적인 기능에 대한 설정 파일 축소



2. Mustache 

Mustache는 Template Engine의 한 종류이다. Mustache는 {{ }} 를 이용해서 데이터를 표현하는데, 이 모습이 콧수염과 비슷하다고 해서 다음과 같이 불린다.

Google 에서 Mustache를 검색하면 아래와 같은 장점이 나온다.

 (1) Logic Less Template Engine

  기존에 JSP 페이지에서는 JSTL 태그를 이용해서 페이지에서 복잡하고 많은 제어가 이루어졌다. Model에서 데이터를 조작해서 JSP View에 전달을 하면 바로 

  보여주는 것이 아닌, JSP 페이지에서의 제어가 또 이루어졌던 것이다. Mustache를 포함한 Template Engine은 HTML 에서의 제어를 최대한 없애고, 

  Model에서 모든 처리를 하여 제공해준다. 정리하면, 비즈니스 로직과 프리젠테이션 로직을 분리한다는 것이다. 분리를 통해 유연성과 유지보수의 효율을 

  극대화할 수 있다. HTML 페이지에서는 제어없이 단순히 데이터만 표현하기 때문에 화면변경이 쉬워진다. 


 (2) 다양한 언어를 지원

  Ruby, JavaScript, Python, Erlang, node.js, PHP, Perl, Objective-C, Java, .NET, Android, C++, Go 등 다양한 언어를 지원한다.


하지만 장점만 있는 것은 아니다. 개인적으로 HTML 페이지에서 제어문이 적기 때문에 개발자 입장에서는 개발이 쉽지 않다. 

이 부분은 현재 Mustache를 처음 개발하면서 느낀 개인적인 나의 생각이다. 개발을 하다보면 JSTL의 다양한 태그들이 그립다...

  

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함