개발자
안녕하세요, Express를 사용한 웹서버 구축과 관련한 공부를 하던 중 제가 보고있는 책(Node.js 교과서)에서 템플릿 엔진이라는 것을 사용하는 부분이 나왔습니다. 저는 아직 공부가 깊지 않아서 템플릿 엔진이라는 개념 자체를 처음 들어보았는데요, 제가 이해한게 맞다면 db나 서버에 있는 데이터를 웹페이지에 바인딩해주는 툴인 것 같더라구요. 그렇다면 굳이 바닐라 js와 html 대신에 템플릿엔진을 써야하는 이유가 무엇인지 잘 와닿지가 않았습니다. 문법도 html과 많이 달라서 입문 레벨인 저한테는 부담이 되고 공부를 해서 도입한다고 해도 엔진 각각마다 통일성이 없어보여서 뭘 골라야할지도 모르겠구요,, 템플릿 엔진이 필수적인 것인지 어떤지, 어떤 것을 배워보면 좋을지 의견을 여쭙습니다.
답변 2
안녕하세요! 템플릿 엔진은 꼭 배워야할 필수 기술은 아닙니다. 지금도 쓰이는 곳들이 있긴하지만 필요하면 그때가서 배워도 무방할 것 같아요. 이해하신 것처럼 템플릿 엔진 자체는 서버에서 페이지 내려줄때 보다 쉽게 HTML 페이지에 데이터를 넣어서 렌더할 수 있게 도와주는 툴인데요. 단순 JS, HTML, CSS로 파일을 만드는것보다 템플릿 엔진을 사용하는게 코드 유지 관리를 하기 쉬워서 사용을 많이 하는 것 같아요. 그냥 이런게 있구나~~ 하고 개념만 이해하시고 넘어가도 괜찮을것 같아요 :) - https://velog.io/@hi_potato/Template-Engine-Template-Engine
템플릿 엔진을 사용하는 것은 웹 개발에서 필수적인 것은 아닙니다. 그러나 웹 애플리케이션의 복잡성이 증가함에 따라, 템플릿 엔진을 사용하는 것이 효율적이고, 개발 과정을 간소화하는 데 도움을 줄 수 있습니다. 템플릿 엔진은 HTML 코드 안에 서버 측 데이터를 쉽게 바인딩할 수 있는 문법을 제공합니다. 이것은 동적인 웹 페이지를 만드는 데 필요한 작업을 간소화하고, 코드의 가독성과 유지보수성을 높여줍니다. 예를 들어, 사용자 정보, 데이터베이스 결과, 시간 정보 등 서버 측에서 생성된 데이터를 HTML에 쉽게 통합할 수 있습니다. 바닐라 JS와 HTML을 사용하여 이러한 동적인 내용을 처리하려면 수동으로 문자열 조작 작업을 수행하거나, 클라이언트 측 자바스크립트를 사용하여 DOM을 업데이트해야 할 수 있습니다. 이런 접근법은 복잡하고 오류가 발생하기 쉬울 뿐만 아니라, 보안 문제를 야기할 수도 있습니다. 그러나 템플릿 엔진의 선택은 주로 개인의 선호나 프로젝트의 요구사항에 따라 결정됩니다. Node.js 환경에서는 EJS, Pug(Jade), Handlebars 등 다양한 템플릿 엔진이 사용됩니다. 이 중 어느 것이 가장 적합한지는 그 엔진의 문법, 커뮤니티 지원, 성능 등을 고려하여 결정하시면 됩니다. 마지막으로, 현재는 웹 애플리케이션의 프론트엔드와 백엔드를 분리하는 트렌드가 있습니다. 이런 구조에서는 백엔드에서는 API를 제공하고, 프론트엔드에서는 프레임워크(React, Vue.js 등)를 사용하여 동적인 웹 페이지를 구성하는 방식을 많이 사용합니다. 이런 경우에는 서버 측 템플릿 엔진을 사용할 필요가 없습니다.
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!