Express?? 너무나 당연히 썼던 서버 프레임워크 - (1)

2020. 11. 3. 14:25Project-Review

Node.js로 서버를 만든다면 누구나 너무나 당연하듯이 썼던 Express이다. 앞에서 Node.js나 npm처럼 모두가 알고, 사용하고 있어서 무엇을 더 얘기할까 생각했다. 이 글을 읽는 사람 중 다 알고서 심심풀이로 보는 사람도 있을 것이고, 정말 Express에 대해 아무것도 몰라서 알기 위해 온 방문자도 있을 것이라고 생각한다. 어떻게 글을 써내려갈까 생각하다가 개인적으로 Express는 계속해서 쓸 프레임워크 중 하나라고 생각하기 때문에 더 세심히 살펴볼수록 성장할 수 있을거라 생각했다. 그래서 Express의 Tab 메뉴에 따라 개인적으로 와닿는, 혹은 다른곳에서는  알려주지 않은 것들을 위주로 써볼까한다. 물론 쓸모 없는 얘기일수도 있겠지만, 모두가 알아야할 내용들은 이미 구글에 검색하면 다 나온다.

 

1. Express란 무엇일까

공식 홈페이지에 들어가면 떡하니 가장 큰 글씨로 이렇게 Express를 표현하고 있다.

Fast, unopinionated, minimalist web framework for node.js

해석하자면 'Node.js를위한 빠르고 자유로운 미니멀한 웹 프레임워크'라고한다. 우선 그래서 왜 빠르고, 자유롭고, 미니멀한지 알아보려고한다.

 

  • Fast, minimalist :  우선적으로 라이브러리와 프레임워크의 차이를 알아본다면 라이브러리는 모두 준비해 놓은 다음, 그 중 선택해서 사용하는 것이라면, 프레임워크는 특정 목적에 따른 것만 가져와 사용하는 것이라고 생각한다. 때문에 Express 프레임워크는 서버 통신에 필요한 기능만 넣었기 때문에 가볍고 빠르다고 생각했다.
  • Unopinionated : 이 얘기에 대해서는 MDN - Express/Node 소개에서 'is Express opinionated?'라는 주제에 설명이 되어있었다. 해당 탭의 내용을 얘기하자면, Unopinionated라는 건 개발자가 미들웨어나 다른 컴포넌트를 붙이는 것에 대한 간섭으로부터 자유롭다는 걸 말한다고 생각한다. 즉, 사용자는 자신의 목적에 맞게 가져온 컴포넌트나 미들웨어의 충돌을 걱정할 것 없이, 조합해서 사용할 수 있다는 장점을 말하는 것 같다.

가장 빠르게 사용해보고 싶은 사람들은 express의 express-generator를 사용하면 기본적인 구조를 모두 설정해주므로 편리하게 구조 및 방법을 볼 수 있을것이다.