[React.js] React 사용을 위한 Node.js - Node.js란?

2022. 5. 1. 17:39·공부/React.js
반응형

 

React 게시글은 대부분 인프런의 '한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지' 강의를 기반으로 내용을 정리했습니다.

출처 : 위키백과

Node.js

어? 우리가 배우려는 건 React.js인데 왜 Node.js가 나오나요?

바로 React.js가 Javascript의 라이브러리이기 때문이다. 오 그건 알겠어요. 근데 Javascript랑 Node.js랑 무슨 연관이 있는데요?

자, 전에 자바스크립트로 작성된 코드는 브라우저에 있는 자바스크립트 엔진을 이용하여 실행한다고 했었다. 우리가 아는 브라우저만 해도 크롬, Edge, Safari 등이 있는데 이 각 브라우저마다 자바스크립트 엔진이 상이하다.

  • Safari - Nitro
  • Firefox - Spider Monkey
  • Chrome - V8
  • Edge - Chakra
  • Opera - Presto

이 중에서 제일 유명한 건 아무래도 크롬의 V8이겠다.

예전의 자바스크립트는 하꼬에 불과했다. HTML 코드 안에서 동작되며 대부분 이벤트 처리나 인터랙션 말고는 별 할 일이 없던 언어였다. 그런데 자바스크립트의 사용성이 워낙 좋다 보니 많은 개발자들이 이 자바스크립트를 웹 안에서만 사용할 수 있는 게 너무 아까웠다고 한다. 그때! 크롬의 자바스크립트 엔진인 V8은 C++로 만들어져서 웹 말고도 어디서든지 사용할 수 있게 만드는 프로젝트가 시작되었는데 그게 바로 Node.js이다. 

즉, Node.js는 자바스크립트의 실행환경 = Runtime 환경이다.
그래서 Node.js를 컴퓨터에 설치하면 자바스크립트를 웹에서 말고 그냥 컴퓨터에서 실행시킬 수 있게 된다.

반응형

자바스크립트 독립 그 후..

자바스크립트가 Node.js를 통해 웹 브라우저의 종속에서 벗어났다. 이제 자바스크립트로 웹을 만들 수도 있고, 앱을 만들 수도 있고, 응용 프로그램을 만들 수도 있는 것이다. 그리고 웹의 프론트 영역뿐만 아니라 웹 서버까지도 만들 수 있게 되었다.

Node.js로 만든 웹 서버는 브라우저로부터 url 주소를 요청(Request)받는다. 그럼 웹 서버에서 해당 요청에 맞는 페이지를 응답한다. 이때 응답 데이터에는 여러 데이터가 있을 수 있겠지만 페이지의 경우엔 리액트로 만든 자바스크립트 파일이 넘어가게 된다. 리액트를 여기서 사용하는 이유는 고전적인 웹 사이트가 아닌 동적이고  마치 프로그램이 동작하는 듯한 페이지를 구현할 수 있기 때문이다. 이런 의미에서 리액트로 만든 웹 사이트를 웹 애플리케이션 또는 리액트 애플리케이션이라 부른다.

 

결론

React.js는 Node.js가 없으면 사용하기 어렵다. 그러니 Node.js의 기본적인 부분만 학습하고 React.js를 배워보자.

반응형
저작자표시 비영리 변경금지 (새창열림)
'공부/React.js' 카테고리의 다른 글
  • [React.js] React 사용을 위한 Node.js - Hello World & Common JS
  • [React.js] React 사용을 위한 Node.js - Node.js 설치하기
  • [React.js] React 사용을 위한 자바스크립트 응용 - API & fetch
  • [React.js] React 사용을 위한 자바스크립트 응용 - async & await
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    토이프로젝트
    egov
    SpringBoot를 이용한 RESTful Web Service 개발
    방통대
    알고리즘
    코딩테스트
    에러해결
    Java
    MSA
    springboot
    스프링부트
    넥사크로
    토비의스프링부트
    SQL
    프로그래머스
    oracle
    Spring
    RESTful
    개발자
    QueryDSL
    프론트엔드
    IT
    백준
    react
    자바스크립트
    기출문제
    인프런
    JPA
    전자정부프레임워크
    운영체제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
[React.js] React 사용을 위한 Node.js - Node.js란?
상단으로

티스토리툴바