[Node.js] 프레임워크 (Framework)란?

먹보·2023년 1월 10일
0

MUK_BO's Node.js

목록 보기
5/7
post-custom-banner

우선 Express와 Nesjs에 대한 설명을 간단하게 진행하기 앞서 Framework에 대한 기본 개념을 짚고 넘어가려 한다.

프로그래밍 시장에 Nodejs가 들어오면서 웹 개발자들은 JS 언어를 활용해 백엔드를 설계할 수 있게 되었고 그 때부터 NodeJS를 이용하여 백엔드 서버를 구축하는 기업들이 증가하고 커뮤니티가 급속도록 성장하기 시작하였다.

수요가 많아짐에 따라 NodeJS 개발자들은 NodeJS의 불편한 점을 인지하게 되었고 그걸 개선하고자 FRAMEWORK를 개발하기 시작하였다.

사실 개발자 매체에서는 NodeJS도 프레임워크가 아니냐라는 토론을 많이 하는 것으로 알려져 있지만 우리가 기억해야 할 근본적인 것은 NodeJS는 자바스크립트의 런타임 환경이라는 것이다.

✍ 프레임워크란..

웹 개발에 있어 자주 사용되는 코드들을 구조화하여 개발자들이 조금 더 효율적으로 웹 개발을 할 수 있도록 도와주는 도구이다

*간혹 개발자들은 라이브러리웹 프레임워크간의 개념에 헷갈릴 수 있는데, 쉽게 생각해서 라이브러리내가 주체가 되어 사용 하고 싶을 때 해당 라이브러리 내에 있는 코드를 쓰는 것이지만 웹 프레임워크설계된 구조가 이미 정해져 있기에 내가 따라야 하는 것이 큰 차이이다.

📝 프레임워크 장점

  • 효율성 상승
    - 반복되는 기능은 몇 줄의 코드만으로 구현 가능
  • Quality 향상
    - 구조화 되어 버그 발생 감소
  • 유지 보수에 유리

📝 프레임워크 단점

  • 사용자가 직접 짠 코드가 아니기에, 학습 시간이 길다.
  • 규칙이 정해져 있기에 따라야 한다.

위에 설명된 단점은 사실상 프레임워크의 단점이라기보단 어느 도구던, 언어던 가지고 있는 단점들이기에 무시하고 지나가도 상관이 없고 수 많은 개발자들이 이미 자신의 프로젝트의 상황에 맞는 프레임워크를 활용하여 개발을 진행하고 있다.

사실 필자도, 이미 ExpressJS를 활용하여 프로젝트를 2번 정도 진행해보았고 이제 NestJS를 배우려고 시도하기에 이 둘의 공통점과 차이점 그리고 어떤 것이 어떤 상황에서 더 나을 것인지 공부를 해보기 위해 글을 써본다.

NodeJS에는 다양한 프레임워크가 있지만, 필자가 직접 사용해볼 ExpressJSNestJS만 비교해보려고 한다. 그래도 어떤 프레임워크가 있는지 간단히 알아보자

✍ NodeJS의 Framework

*전 세계 기준으로 간략하게 알아본 것입니다.

  • ExpressJS : 가장 많이 사용되는 백엔드 프레임워크
  • KoaJS : Express 다음으로 많이 사용되는 백엔드 프레임워크
  • MeteorJS : 자바스크립트만을 위해 2012년에 만들어진 웹 프레임워크로 웹과 앱 개발에 적합하다
  • Socket.io : 라이브러리이자 프레임워크로 리얼타임 앱을 개발하는데 용이하다.
  • NestJS : 엔터프라이즈 급의 웹 및 앱 개발에 특화된 웹 프레임워크으로 Express와 Fastify와의 연동에도 용이하다.
  • SailsJS : Rails의 Ruby와 비슷한 MVC 구조를 닮은 프레임워크
  • FastifyJS : JSON으 자동으로 파싱하고 빠른 라우팅을 제공하는 프레임워크

위에 언급된 프레임 워크 외에도 Connect, LoopBack, AdonisJS등이 있지만..사실 아직 Express도 제대로 다뤄보지 못한 주니어 개발자로써는 이 정도만 알고 넘어가는 것도 벅차다..

아래 표를 통해 전 세계에서 가장 많이 쓰이는 NodeJS 프레임워크가 무엇인지 알 수 있다.

profile
🍖먹은 만큼 성장하는 개발자👩‍💻
post-custom-banner

0개의 댓글