Node.js | Express 프레임워크 | 프레임워크 장점과 Express

지금까지 Web 어플리케이션의 기본적인 기능에 대한 처리 방법에 대해 설명하였다. 그런데 솔직히 말하면 “생각보다 귀찮다"고 느꼈을 수도 있다.

프레임워크의 필요성

어쨌든, 무엇을 해야 할때도 모든 것을 세세하게 스스로 처리를 쓰지 않으면 안된다. EJS을 도입하여 템플릿을 사용할 수 있게 됐지만, 템플릿 파일을 미리로드해 놓고 그것을 렌더링 처리를 직접 작성해야 한다. 여러 페이지를 준비해야 한다면, 직접 URL 기반의 라우팅 프로세스를 만들어 두지 않으면 안된다. POST로 된 데이터는 이벤트를 사용하여 데이터를 모두 꺼내 와서 그것을 디코드하여 필요한 값을 사용할 수 있도록 이도 또한 처리를 직접 작성해야 한다. 이것으로는 다수의 페이지를 가진 복잡한 Web 응용 프로그램을 만들려는 의욕이 사라질 것이다.

이러한 작업의 대부분은 “Web 응용 프로그램이라면 반드시 필요한 것"이기도 한다. 그렇다면, Web 응용 프로그램이 사용하는 기능을 미리 모두 구현하여, Web 응용 프로그램으로 기본 시스템을 준비해 두면 보다 쉽게 개발을 할 수 있게 될 것이다.

이러한 생각에 탄생한 것이 “Web 어플리케이션 프레임워크"로 일반적으로 불리는 것이다. 단순히 기능을 모은 라이브러리가 아닌 Web 어플리케이션으로서의 기본적인 시스템 자체를 제공하는 프로그램이다.

Express 프레임워크

Node.js에도 이 Web 어플리케이션 프레임워크는 준비되어 있다. 그 중에서도 가장 널리 사용되고 있는 것이 “Express"라는 거다.

Express는 EJS과 동일하게 Node.js 패키지로 제공되고 있다. npm에서 간단히 설치하고, 이를 통합한 서버 프로그램을 만들 수 있다. 또한 템플릿 엔진에 EJS을 이용할 수 있기 때문에, 지금까지 만든 EJS 템플릿을 그대로 재사용할 수 있다.

Express에는 Web 응용 프로그램을 위한 기본적인 시스템이 구축되어 있으며, 이에 필요한 처리를 추가하는 것이다. Node.js에서만의 구현과 동일하게 이벤트 처리를 통합해 간다는 기본적인 개발 스타일은 변함이 없지만, 준비되어 있는 다양한 객체를 이용하여 아주 쉽게 필요한 처리를 조합할 수 있다.

Express 사이트는 아래와 같다. 여기에 문서 등도 공개되어 있다. (단, npm을 이용하기 때문에 여기에서 라이브러리 파일 등을 다운로드할 필요가 없다)

http://expressjs.com/