[Node] Node JS는 프레임워크일까? - NO

Kim Tae Won·2021년 12월 27일
3
post-thumbnail

일반적으로 웹사이트나 앱을 개발할 때에는, 프레임워크를 이용하여 작성하는 경우가 대부분이다. 그렇다면 이 "프레임워크"란 무엇일까?

프레임워크(FrameWork) : 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 하는 것

  • 즉, 일정한 틀을 가지고 있으며, 개발자는 그저 뼈대에 살을 붙이듯 원하는 대로 채워 넣으면, 프로그램을 완성해주는 것이라 생각하면 된다.

그렇다면 대표적인 프레임워크엔 무엇이 있을까?

  • 백엔드
    • Django
    • Spring (Spring Boot)
    • etc...
  • 프론트
    • Vue.js
    • React.js
    • etc...

대표적인 예로 유명한 Django(장고)를 살펴보자.

장고는 MVT패턴이 적용된 프레임워크로, Model, View, Template라는 패턴에 맞게 개발을 하면 된다. 따라서 개발자는 Model, View, Template에 해당하는 부분에 원하는 코드를 잘 채워넣어주기만 하면, 장고 프레임워크가 이를 상호유기적으로 실행하여 구동하게 된다. 즉, 장고는 파이썬 위에서 실행되는, 하나의 뼈대라고 생각하면 된다.

실제로 모든 코드를 작성한 후 django runserver만 해주면 서버가 돌아가게 된다.

그렇다면 노드(Node JS)는 프레임워크라고 할 수 있을까?

Node.js는 자바스크립트(javascript)를 실행하는 하나의 환경이라고 할 수 있다.

따라서 노드는 프레임워크가 아니기 때문에, 프로그램의 구조에 대한 설계를 모두 개발자가 해야 한다는 의미이다.

요약하자면 Node.js는 프레임워크가 아닌 그저 단순한 자바스크립트 실행 환경일 뿐이라는 것이다

profile
꿈이 너무나 큰 평범한 컴공 대딩에서 취업 성공!

4개의 댓글

comment-user-thumbnail
2022년 9월 16일

리액트는 라이브러리로 알고 있습니다만..

답글 달기
comment-user-thumbnail
2022년 9월 22일

너무유용하네요

답글 달기
comment-user-thumbnail
2022년 11월 11일

좋은 글 잘 읽었습니다. 감사합니다. 혹시 제목 이미지에 사용한 폰트를 알 수 있을까요?

답글 달기
comment-user-thumbnail
2023년 8월 15일

감사합니다.

답글 달기