안녕하세요, 다시 돌아왔습니다. 지난 포스트에서는 Node.js 는 무엇이고 왜 이렇게 🔥 한가에 대해서 간략하게 알아 보았는데요. 이번 포스트에서는 Node.js 하면 가장 먼저 떠오르는 Express.js 에 대해서 알아보고자 합니다.
Express.js 가 뭔가요?
영문 Wikipedia 는 Express.js 를 이렇게 설명하고 있습니다.
Express.js, or simply Express, is a back end web application framework for Node.js,
released as free and open-source software under the MIT License.
It is designed for building web applications and APIs.
출처: https://en.wikipedia.org/wiki/Express.js
다행스럽게도 제 머리로도 이해할 수 있도록 쉽고 간단하게 설명해 놓은 것 같습니다. 번역 해 보면:
- Express.js 는 무료로 배포된 오픈 소스 소프트웨어이며 Node.js 과 함께 사용할 수 있는 백엔드 웹 애플리케이션 프레임워크이다.
- Express.js 는 웹 앱과 API 등을 개발하기 위해 디자인 되었다.
라고 하네요. 이 글을 보시는 분들은 어느 정도 웹에 대해서 기초 지식이 있으실 거라 생각이 되므로 API 가 무엇인지 웹 애플리케이션이 무엇인지에 대해서는 넘어가도록 하겠습니다. (API 는 따로 나중에 정리해서 포스트로 올릴 예정입니다.)
웹 애플리케이션의 주요 목적과 기능은, 클라이언트가 API 를 통해서 서버쪽으로 요청을 보내고, 서버는 그 요청을 받아서 적절한 응답을 다시 클라이언트 쪽으로 보내는 것입니다. 여기에서 말하는 클라이언트는 지금 이 포스트를 작성하는 저, 또는 이 글을 읽으시는 여러분처럼 웹 브라우저를 통해서 무언가를 요청하는 사용자들일 것이고, 제가 이 포스트를 다 작성 후 완료 요청을 API 를 통해 서버에 보내게 되면, 서버는 제 포스트 내용이 API 룰에 적합하는 지 판단 후 데이터베이스에 제 포스트 내용을 저장할 것입니다. 그리고 마지막으로 "이 포스트가 정상적으로 저장이 되었다." 라는 응답을 브라우저를 통해서 저에게 보내게 됩니다.
왜 Express.js 를 사용하나요?
설명이 조금 길어졌는데, Express.js 는 개발자들이 Node.js 에 사용자의 요청에 대한 응답 코드를 작성하는 것 (API Endpoints) 을 간편하게 해줍니다. Node.js 는 HTTP 모듈을 가지고 있는 로우 레벨 I/O 메커니즘입니다. 만약 Node.js 만으로 웹서버를 개발을 하게 되면, 페이로드 분석, 세션과 쿠키 핸들링 등 많은 일들을 반복해야 하지만, Express.js 가 이런 많은 일들을 처리해 주기에 개발자들이 더욱 더 빠르고 편리하게 개발을 할 수 있게 됩니다.
Express.js 는 Node.js 와 함께 가장 많이 사용되는 프레임워크입니다. 저는 아직 Express.js 만 써 보았고, Express.js 는 github 에서 가장 높은 stars 를 받아서 랭킹 1위에 위치해 있습니다. 혹시 이 글을 읽으시는 여러분이 Node.js 개발자를 꿈꾸고 계시다면, Express.js 를 먼저 사용해 보시는 것을 적극 권장합니다.
이번 포스트는 글이 매우 딱딱하고 지루한 것 같습니다. 아쉬운 마음을 금할 수 없는데, 이제 Node.js 찍먹은 여기까지 해두고 다음 포스트부터는 실제 코드를 입력해서 어떤 식으로 Node.js 와 Express.js 가 작동하는 지 확인해 보도록 하겠습니다.
그럼
'Studying > JavaScript & Frameworks' 카테고리의 다른 글
[Node.js 떠먹여 주는 남자] Node.js 와 MongoDB 설치하기 (macOS) (0) | 2022.03.09 |
---|---|
[Node.js 떠먹여 주는 남자] 샘플 코드에 모델 추가와 MongoDB 연결하기 (0) | 2022.03.09 |
[Node.js 떠먹여 주는 남자] 컨트롤러, 서비스 를 이용한 샘플 코드 확장 (0) | 2022.03.08 |
[Node.js 떠먹여 주는 남자] Node.js, Express.js 를 이용한 샘플 코드 (0) | 2022.03.07 |
[Node.js 떠먹여 주는 남자] Node.js 는 무엇인가? (0) | 2022.03.04 |