이론공부

React(Next.JS)? Node.JS(Nest.JS)?

camja 2023. 7. 12. 23:21

라이브러리(Library):

  • 재사용 가능한 코드의 집합으로 기능을 수행하기 위한 도구나 함수들의 모음이다.
  • 개발자가 필요한 기능을 가져와서 사용 할 수 있으며, 개발자가 원하면 호출하여 사용 할 수 있다. 
  • 개발자가 자유롭게 선택하여 사용할 수 있고 필요한 부분에서 선택적으로 사용 가능하다. 

프레임워크(Framwork):

  • 애플리케이션의 구조와 규칙을 제공하여 개발자에게 특정 작업을 수행하는데 필요한 틀과 구조를 제공한다.
  • 개발자에게 제어의 역전(Inversion of Control) 개념을  적용하여 프레임 워크가 개발자의 코드를 호출하고 관리한다.
  • 특정 도메인이나 플랫폼에서 애플리케이션을 개발할 때 주로 사용 된다. 
제어의 역전
개발자가 코드를 직접 제어하는 것이 아니라, 외부에서 코드를 호출하고 관리하는 개념이다. 
일반적으로 개발자는 코드의 흐름과 실행을 직접 결정하지만 제어의 역전을 적용하게 되면 개발자는 외부 요소인 프레임 워크 및 라이브러리 등에게 제어의 권한을 넘기게 된다..

제어의 역전 적용하면 좋은건가?

제어의 역전을 사용하게 되면 개발자는 코드를 작성하는 동안 외부 요소가 제어 흐름을 결정하고 필요한 시점에 코드를 호출 할 수 있을 뿐만 아니라 개발자는 애플리케이션의 전체 구조나 흐름을 신경 쓰지 않고 로직에 더욱 집중 할 수 있다. 이는 코드의 재사용성과 유지 보수성을 높이고 테스트 용이성을 개선하는 데 도움을 주게 된다. 
  라이브러리(Library) 프레임워크(Framwork)
JavaScript React  
React   Next.JS
Node   Nest.Js,Express
React와 Node.js는 언어적으로는 JavaScript를 기반으로 하지만, 서로 역활과 사용 방식에서 차이가 있다.
React는 클라이언트 측에서 UI 개발을 위한 JavaScript 라이브러리이며 Node.js는 서버 측에서 JavaScript를 실행하는 런타임 환경이다. Next.js와 Nest는 각각 React와 Node.js를 기반으로 한 프레임워크이며
Next.js는 React 애플리케이션 개발을 간편화하고 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG), 코드 스플리팅, 라우팅 등의 기능을 제공하는 React 기반의 웹 프레임워크이다.
Nest는 TypeScript를 기반으로 한 프레임워크로, Node.js와 Express 위에서 동작합니다. Nest는 Angular 프레임워크에서 영감을 받아 개발되었으며, 모듈화, 의존성 주입(Dependency Injection), 데코레이터(Decorator) 등의 개념을 제공하여 구조적이고 확장성 있는 웹 애플리케이션 개발을 위한 프레임워크이다.
따라서, React와 Node.js는 언어적인 측면에서 JavaScript를 기반으로 하고, Next.js와 Nest는 React와 Node.js를 기반으로 한 프레임워크이다.