시리즈 초반부에서 nodejs 공식 홈페이지의 about tab에 있는 코드를 이용해서 서버를 생성하고 hostname과 port 번호를 주소창에 입력하면 "Hello world"가 출력되는 간단한 웹 애플리케이션을 만들어 본적이 있다. (Nodejs - 간단한 웹 앱 만들기 포스팅참조)
사실 이처럼 node를 이용하여 직접 웹을 만드는 것도 괜찮은 방법이지만 매번 서버를 연결하고 포트를 지정해주고 등등 한번 서버를 생성할 때마다 손이 많이가고 번거로운 부분들이 있는 것은 사실이다.
웹이면 웹, 메소드면 메소드.. 내가 원하는 기능만을 한 번에 구현해주는 도구가 있다면 얼마나 좋을까?
다행히 선대 개발자들도 우리와 똑같은 생각을 하고 있었고 실제로 이를 구현해주었는데, 이것이 바로 그 유명한 '프레임워크(framework)' 이다. 그렇다면 프레임워크가 정확히 무엇일까?
Framework
프레임워크를 용어사전에 검색해보면 "뼈대, 구조, 틀" 이라고 나온다. 실제로 Frame이라고 하면 액자와 같은 틀이 먼저 떠오른다.
쉽게 설명하기 위해 어렸을 적 자주 조립했던 건담 프라모델을 예로 들어보자. 처음 프라모델을 구매해서 박스를 열어보면 여러가지 부품들이 들어있다. 조립설명서를 보면서 제공된 부품들을 하나씩 맞추게 되면 마침내 건담이 만들어진다.
이처럼 일정한 형태의 틀과 부품, 규약 등을 미리 제공하고 조립이 끝났을 때는 어떤 하나의 결과물이 탄생하게 되는 것이 프레임워크의 역할이다. 프레임 워크의 장점으로는 프로그램을 쉽게 만들기 위해 요소(부품)들과 룰을 제공해 줌으로써 개발 생산성과 품질을 향상시키게 된다. 우리가 흔히 들어본 Spring, Django, Ruby on Rails 등등이 바로 프레임워크이다.
우리는 이 중 서버 쪽 애플리케이션을 좀 더 쉽게 구현시켜주는 Nodejs기반의 Express라는 웹 프레임워크를 사용해볼 것이다. Express 공식 홈페이지에 접속해보자.
위 메뉴바에서 시작하기 -> 설치를 들어가면 Express 설치 방법이 설명되어 있는데, 이는 처음 작업을 진행하는 유저들을 위한 내용으로 npm init을 통해 package.json 파일을 만들고 npm 환경 설정을 하는 내용은 지난 포스팅에서 설명했었던 내용이라 생략한다. (Nodejs - NPM으로 모듈설치 참조)
프롬프트 창을 열고, 우리가 작업하는 디렉토리로 이동하자.
위에서 언급한 것처럼 우리는 이미 이 디렉토리에 "npm init"을 통해 npm이 관리하게끔 즉, npm 프로젝트로 만들어준 적이 있다. 따라서 우리는 "npm install --save express" 만 입력해서 설치를 진행하자.
설치가 완료되었으면 이제, 이 프로젝트에서 이 프레임워크를 사용할 수 있는 상태가 된 것이다. 다음시간에 express를 이용해서 간단한 형태의 웹 애플리케이션을 만들어 볼 것이다.