Express.js: 미니멀리스트들을 위한 백엔드 프레임워크

JayB·2023년 6월 13일
0
post-thumbnail

Express.js는 Node.js를 위한 웹 어플리케이션 프레임워크이다. 웹 애플리케이션 및 API를 구축하기 위해 설계 되었으며, 2010년에 출시된 이후로 JavaScript 백엔드 개발의 핵심 부분을 담당하였다.


Express.js의 등장

Node.js의 출현은 웹 개발 영역에 중요한 패러다임 변화를 가져왔다. 대표적으로 개발자 들이 클라이언트 사이드에서만 사용되던 JavaScript를 서버 사이드에서도 사용할 수 있게 되었다. 그러나 Node.js는 기본적인 I/O 모델을 제공하면서도 라우팅과 미들웨어를 구성하는 방법에 대해 직관적인 방법을 제공하지 않았다. Express는 이러한 문제를 해결하기 위해 등장했다.

Express는 "unopinioned" 프레임워크이다. 즉, 어떤식으로 작업들이 수행되어야 하는지에 대한 엄격한 지침들이 정해져 있지 않다는 것이다. 이러한 특징은 개발자이 아키텍처를 결정할때 많은 자유도를 부여해준다.

Express는 단일 페이지, 다중 페이지 및 하이브리드 웹 어플리케이션을 구축하기 위한 간단한 인터페이스를 제공한다. 또한, 프론트엔드 서버와 데이터베이스 사이에서 요청을 주고 받도록 라우트를 설정할 수 있다.

Express.js의 기본적인 사용

Express는 흔히 MEAN(MongoDB, Express.js, AngularJS, Node.js) 또는 MERN(MongoDB, Express.js, React.js, Node.js) 스택과 함께 사용되며 가장 인기 있는 백엔드 프레임워크 중 하나이다.

Express.js는 주로 다음과 같은 상황에서 많이 쓰인다.

1) 싱글페이지 어플리케이션
2) 다중페이지 어플리케이션
3) 실시간 어플리케이션
4) RESTful API

Express.js의 장점

장점 1) 단순함

미니멀한 인터페이스를 제공한다. 이는 새로운 사용자들이 접근하기 쉽게 하고, 더 복잡한 어플리케이션을 충분히 구현할 수 있도록 해준다.

장점 2) 미들웨어

조건부 또는 순차적으로 실행할 수 있는 미들웨어 모듈을 사용한다. 미들웨어 함수는 요청 및 응답 객체에 접근할 수 있고, 이를 통해 객체를 수정하거나 특정 코드를 실행하는 등 다양한 연산 작업을 수행할 수 있다.

장점 3) 높은 퍼포먼스

미니멀하기 때문에 매우 가볍고 효율적으로 작동한다. 일반적으로 다른 서버 사이드 솔루션들에 비해 좀 더 높은 성능을 제공한다.

장점 4) 라우팅

강력하지만 쉽게 정의할 수 있는 라우팅 매커니즘을 제공해준다.

장점 5) 거대한 커뮤니티

거대한 커뮤니티를 갖고 있기 때문에, 문제해결에 용이하다.


Express.js의 단점

단점 1) 구조의 일관성 부족

앞서 말했듯 "unopinioned" 프레임 워크이기 때문에 대규모 프로젝트에서 구조의 일관성에 문제가 생길 수 있다. 이로 인해, 프로젝트의 유지 및 확장에 어려움이 생길 수 있다.

단점 2) 미니멀리즘

미니멀리즘은 Express의 장점이자 단점이다. 복잡한 어플리케이션에서 작업 시 수동으로 처리해야 하거나 미들웨어 설치 시 시간이 많이 소요될 수 있다.

단점 3) 무한 콜백

비동기적인 Node.js의 특징으로 인해 무한 콜백에 빠질 수 있다. 하지만 async/await을 통해 충분히 해결할 수 있다.

결론적으로 Express.js는 개발자들에게 높은 자유도와 낮은 진입장벽을 주지만, 프로젝트가 커지고 복잡해질때 이러한 장점들이 곧바로 단점으로 바뀔 수 있는 위험성이 존재한다. 따라서, 다양한 상황을 고려하여 결정하는 것이 중요하다.

profile
I am me

0개의 댓글

관련 채용 정보