본문 바로가기

Node.js

Express

기본 설명은 http://expressjs.com/ko/ 에 나와 있는 내용을 정리.


 Express는 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크로, 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공한다. 

 기본적인 웹 애플리케이션 기능으로 구성된 얇은 계층을 제공하며, 자유롭게 활용할 수 있는 수많은 HTTP 유틸리티 메소드 및 미들웨어를 통해 쉽고 빠르게 강력한 API를 작성할 수 있다. 


 설치는 Node.js가 설치되어 있다는 가정하에,


 - 이 같은 명령어로 설치한다. 


 프레임워크이기 때문에 기본적으로 제공하는 형태가 존재하며, 이를 이용해 가장 간단한 예제 "Hello World"를 작성.


작성된 예를 실행하고



웹에서 실행하면

다음과 같은 결과를 확인 할 수 있다.


[프레임워크]

 이미 유명한 정의가 존재하는데, 디자인 패턴의 저자 랄프 존슨(Ralph Johnson) 교수는 프레임워크를 "소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것"이라고 정의하였다. 프레임워크는 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐 아니라,그 위에 개발된 개발자의 코드를 제어한다.프레임워크는 구체적이며 확장 가능한 기반 코드를 가지고 있으며,설계자가 의도하는 여러 디자인 패턴의 집합으로 구성되어 있다.

 이 설명을 내가 이해한 바로는 라이브러리는 자주 사용하는 기능들을 모아둔 것이라 한다면, 간단한 예로 자동차를 생각해 보면 차의 가장 기본이 되는 뼈대인 프레임이 있다. 국산 차 중에 외국의 차 중에 프레임을 가져와 별도의 차량을 만든 것이 있는 것로 아는데, 이 자동차의 뼈대가 프레임워크 라고 한다면, 자동차의 제어 시스템이 라이브러리라 비유할 수 있을까?

 다른 예를 좀더 들어 보자. 

 집을 지을때 기초공사한 것을 Node.js 라 한다면 집의 기본 뼈대가 Express, 홈 제어 시스템이 라이브러리라 한다면 어떨까?

 즉, 프레임워크는 틀, 구조이며, 개발자에 대한 가이드이며, 규약이라 한다면, 라이브러리는 필요에 의해 동일한 기능을 가진 것으로 대체 할 수 있을 것이다.

 게임 서버를 만들면서 네트웍 라이브러리를 스스로 만들던 상용, 오픈 라이브러리를 가져다 사용하던 통신을 위하여, 선택 가능하다는 것이 일련의 차이점이리라.




'Node.js' 카테고리의 다른 글

유용한 모듈 1 - moment  (0) 2017.08.03
Socket.io  (0) 2017.07.28
echo Server-Client Test  (0) 2017.07.26
echo Client  (0) 2017.07.26
echo server  (0) 2017.07.26