2015년 3월 16일 월요일

REST API 구현을 위한 hapi.js와 express.js의 초간단 비교

REST API 서버 구현을 위해 node.js를 검토한다면 node.js 단독으로 사용하기 보다는 REST API 구현을 도와주는 모듈을 함께 사용하는 것이 좋다. 가장 많이 사용되는 모듈은 단연 express.js이다. 지원하는 plugin 수에서도 압도적이고, 인터넷 상의 문서도 많다. MEAN stack처럼 하나의 package로 사용하는 경우도 많아 자연스럽게 express.js가 검토된다.
hapi.js는 express.js에 비해 넓게 쓰이고 있지 않은 반면 매우 강력한 강점을 가지고 있다. 매우 직관적이고 구조화된 mapping을 하고 있다는 것이다. 소위 ‘configuration over code’라는 장점을 가지고 있는 것이다. 이것만으로도 express.js가 아닌 hapi.js를 써야 할 이유가 있다고 생각한다.
다음은 express.js를 통해 routing을 하는 예이다.

위의 코드를 보고 직관적으로 어떤 URL이 어떤 handler에 연결되어 있는지 파악하기 쉽지 않다.
아래 hapi.js를 통해 동일한 동작을 하는 코드를 살펴보자.

hapi.js를 사용한 코드가 express.js에 비해 path와 handler의 mapping관계를 직관적으로 보여준다.
hapi.js 홈페이지의 getting started는 내용이 너무 부족하다. hapi.js에 대해 잘 알 수 있는 관련 문서도 많지 않다. 앞으로 참고할만한 hapi.js 관련한 자료를 만들어 보자



참고
Node.js Framework Comparison: Express vs. Koa vs.Hapi

댓글 없음: